From a2402a5eb1a372d7f93650f6823a28ffa59a632e 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 3c76864e..5536e92c 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; @@ -204,7 +205,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; + } } } -- 2.39.5