[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] "xm save" trouble -- deadlock?



Kip Macy wrote:
    What exactly is the thread shutdown problem here?  Why the timeout is
needed in the first place?

I didn't see an answer on this thread so I'll take a stab.

If you do a select without a timeout and no activity occurs on the file descriptors the thread may have no way of exiting cleanly.

Hmm, it's still not clear to me how this is supposed to work. How it is signaled to the threads that they should exit? What I see when stracing the thread, then run "xend stop" in another tty, is that the thread is simply killed off with SIGHUP, with no cleanup being done by the thread.

The select() system call will also return on signals (with errno=EINTR) unless you explicitly set SA_RESTART when calling sigaction(2). So if SIGHUP is used to signal the thread it should exit the timeout can go away. Probably the whole select() can go away as well as the accept() will return on signals as well, so just sitting in the accept syscall should work just fine too.

At the moment I still don't see the point in using select() in the first place when there is one thread per socket anyway ...

cheers,

  Gerd

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.