[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