[xmonad] Re: Issue 91 in xmonad: DynamicLog causes xmonad to hang when the output pipe is full

codesite-noreply at google.com codesite-noreply at google.com
Fri Nov 6 18:57:27 EST 2009


Comment #10 on issue 91 by dnietoc: DynamicLog causes xmonad to hang when  
the output pipe is full
http://code.google.com/p/xmonad/issues/detail?id=91

Yes, I have some problems because of an application which is not checking  
for errors
returned by printf.

I'm using a bash script to process the output of this app and feed xmobar  
with the
result. It looks like:

app | ( while read;do
    # blah
    echo blah || exit # output is connected to a pipe read by xmobar. exit  
on error
done )

When xmobar is killed the pipeline is broken and the script should end. The  
right
side of the pipe handles the error when echoing and finnishes correctly. (I  
tried
with trap but it didn't work)

However, app keeps running forever as it cannot handle EPIPE errors.

I've been further investigating the issue and this is not only caused by  
xmonad's
handlers but also by ghc itself. See:  
http://hackage.haskell.org/trac/ghc/ticket/1619

I'm no sure what has to be done here. I think I should fix the application  
either by
reenabling SIGPIPE or properly handling EPIPE errors.

But this is specially problematic for shell scripts because when a  
non-interactive
shell is started while some signals have SIG_IGN as its handler the script  
cannot set
traps on those signals.


--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings


More information about the xmonad mailing list