Avi Kivity writes ("Re: [Xen-devel] Re: [Qemu-devel] [PATCH 01/13] Handle
terminating signals."):
Ian Jackson wrote:
My experience suggests very strongly that we should avoid doing
multithreaded things if at all possible. Threads are less portable;
even when they are provided many of the implementations are buggy
(although less so nowadays).
There is also the way that once you have a multithreaded program, it
is much more difficult to discourage the expansion of the concurrent
functionality until the whole program is a mass of race bugs. I would
rather not open this stable door.
In this case the thread is only used to emulate the signalfd() system
call; it is not part of qemu proper.
That doesn't make us any less exposed to bugs in the threading
implementation, and is only of marginal use if anything for explaining
to people why we shouldn't have a Windows-style multithreaded bug
pile.