On 2008-06-23, Tuomo Valkonen <[EMAIL PROTECTED]> wrote:
> instead of more work on libmainloop, I'd rather see a patch to use 
> libevent. Also, there are other signals for which the race condition
> remains (it is there even now). pselect() is the correct solution.

Before anyone rushes to implement the support, I should note that
libevent needs to be fixed first: it some places, it exit()s on
error. That behaviour is totally unacceptable. Interactive programs
should recover from errors. (Suppose e.g. that there's no memory
for internal structures to manage a new window. Then we simply 
should not manage that window, instead of crashing all of X.) 
My computer still is not a Turing machine [1]. The default 
behaviour of the Linux memory manager is a fatal bug, totally
unacceptable in quality software (which Linux isn't). There's also
an alternative to libevent, ev [2] that has been designed expecting
this bug: it always aborts on memory allocation error, as well as 
some other errors, instead of failing with an error code, so that
the application can recover gracefully.

  [1]: http://modeemi.fi/~tuomov/b/archives/2007/02/16/T19_26_12/

  [2]: http://software.schmorp.de/pkg/libev.html

-- 
Tuomo

Reply via email to