[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
that.
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...?
~d
More information about the xmonad
mailing list