From 2fd877424914ebcbe9fe5bb258dd1e87c870f04a Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Wed, 16 Jun 2010 19:26:55 +0200 Subject: [PATCH] Bugfix: i3-wsbar: properly catch errors when writing to child process This comes at the expense of having Try::Tiny as additional dependency, but I think Try::Tiny is widely available. --- i3-wsbar | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/i3-wsbar b/i3-wsbar index b1a50c40..63583b08 100755 --- a/i3-wsbar +++ b/i3-wsbar @@ -7,6 +7,7 @@ use warnings; use Getopt::Long; use Pod::Usage; use IPC::Run qw(start pump); +use Try::Tiny; use AnyEvent::I3; use AnyEvent; use v5.10; @@ -182,7 +183,12 @@ sub update_output { $out .= "\n"; $outputs->{$name}->{cmd_input} = $out; - pump $outputs->{$name}->{cmd} while length $outputs->{$name}->{cmd_input}; + try { + pump $outputs->{$name}->{cmd} while length $outputs->{$name}->{cmd_input}; + } catch { + warn "Could not write to dzen2"; + exit 1; + } } }