From: Michael Stapelberg Date: Wed, 16 Jun 2010 17:26:55 +0000 (+0200) Subject: Bugfix: i3-wsbar: properly catch errors when writing to child process X-Git-Tag: 3.e-bf2~32 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=2fd877424914ebcbe9fe5bb258dd1e87c870f04a;p=i3%2Fi3 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. --- 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; + } } }