[xmonad] Patch: changes in Prompt and new module

wagnerdm at seas.upenn.edu wagnerdm at seas.upenn.edu
Fri Jun 29 22:01:31 CEST 2012

Quoting Brandon Allbery <allbery.b at gmail.com>:

> On Fri, Jun 29, 2012 at 3:16 PM, <wagnerdm at seas.upenn.edu> wrote:
> Built with -threaded, a forkOS thread could do dbus calls and then
> establish its own Xlib connection and XSendEvent() or install a property on
> the root window to relay the result.  This doesn't necessarily need to be a
> one-way connection, but nothing in the main thread can block to wait on a
> response from the dbus thread (instead, use handleEventHook).

My understanding is that if xmonad were built with -threaded, forkIO  
would be enough (forkOS would not be necessary). Safe foreign imports  
are run on their own (OS) thread by the threaded runtime anyway. For  
the same reason, I don't really think it's necessary to get at X's fd  
and tell the IO manager about it. (If there are blocking X calls that  
are imported unsafe, I consider that a bug, and would happily make a  
release of the X11 package fixing it.) The only annoyance left would  
be, as you say, communicating with the main thread -- which would have  
to roundtrip through X. Only an architectural change to xmonad can fix  

However, I wouldn't be surprised if there were other gotchas related  
to turning on -threaded. I vaguely recall that this was attempted in  
the past and had some issues. Perhaps it had something to do with  
asynchronous exceptions and xmonad's masking stuff...?


More information about the xmonad mailing list