Blaisorblade wrote:
> 2) write_sigio_thread should do a "down" on a semaphore/mutex and the first 
> update_thread should "up" it. As usually, this semaphore would be indeed 
> implemented as a pipe.

Be the way, in case a proper fix is too involved for 2.6.16.x,
here's a quick and dirty work-around that should have no ill
side-effects:

This hack works around a race condition that can make UML hang
on startup. If the race condition is encountered, this change
limits the time of the hang to one second. Besides that, it can
cause a small performance penalty by waking up an otherwise
idle "poll" every second.

This is intended purely as a readily applicable band aid and 
should not be considered a long-term fix.

- Werner

---------------------------------- cut here -----------------------------------

Signed-off-by: Werner Almesberger <[EMAIL PROTECTED]>

--- linux-2.6.16.orig/arch/um/kernel/sigio_user.c       2006-03-20 02:53:29.%N 
-0300
+++ linux-2.6.16/arch/um/kernel/sigio_user.c    2006-03-20 06:27:11.%N -0300
@@ -184,7 +184,7 @@
         signal(SIGWINCH, SIG_IGN);
        fds = &current_poll;
        while(1){
-               n = poll(fds->poll, fds->used, -1);
+               n = poll(fds->poll, fds->used, 1000);
                if(n < 0){
                        if(errno == EINTR) continue;
                        printk("write_sigio_thread : poll returned %d, "

-- 
  _________________________________________________________________________
 / Werner Almesberger, Buenos Aires, Argentina         [EMAIL PROTECTED] /
/_http://www.almesberger.net/____________________________________________/


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to