[libvirt] PATCH: 2/5: Fix signal handler race condition
Daniel P. Berrange
berrange at redhat.com
Wed Aug 20 10:02:54 UTC 2008
On Tue, Aug 19, 2008 at 06:25:01PM +0200, Jim Meyering wrote:
> "Daniel P. Berrange" <berrange at redhat.com> wrote:
> > This is the same patch from yesterday to fix the signal handler race
> > condition. We block signals before doing a fork(), and then in the child
> > reset all signal handlers before finally unblocking all signals. The
> > parent will restore its original signal mask after fork. I've fixed the
> > incorrect return code check on pthread_sigmask() and iterate from 1
> > instead of 0. I'll switch to pid_t later, since that'll involve changing
> > all callers too.
> >
> > In the internal.h file I also #define pthread_sigmask to sigprocmask
> > for scenarios where we don't have pthread - as per other usage. This
> > exposed a bug in remote_protocol.c file where it was not including
> > the config.h file, hence that change here too
>
> This looks fine now.
Thanks, this is committed
Daniel
--
|: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
More information about the libvir-list
mailing list