On 2008-06-23 22:25 +0300, Tuomo Valkonen wrote: > The attached patch might fix the issue, if this is the case. > However, now there's a potential for another race condition: > what if the signal gets delivered before we call select()? > Without repetion, we might never return from select() to > handle the timer signal. pselect() would solve this problem, > but it was not implemented in linux until 2.6.16, and glibc > has an emulation prone to the same race conditions. Also > the changes needed maybe too big for inclusion into Ion3. > (The patch is found in the Ion3+ darcs repository, however.)
(And as I recall mentioning in the Ion3+ wishlist thread, I'm open to a contributed quality patch replacing libmainloop with libevent [1], in order to not have to do redundant work in maintaining similar code.) [1]: http://www.monkey.org/~provos/libevent/ -- Tuomo
