[libvirt] PATCH: Block & reset signals when fork/exec'ing children

Daniel P. Berrange berrange at redhat.com
Tue Aug 12 12:55:09 UTC 2008


On Tue, Aug 12, 2008 at 01:27:03PM +0100, Daniel P. Berrange wrote:
> The process using libvirt can have setup arbitrary signal handlers. In
> the libvirtd case we have one attached to SIGCHILD, and the handler writes
> to a pipe which is then processeed in the main loop. When you fork() signal
> handlers are preserved in the child process, but you may well not want the
> signal handlers to be run in the children - for example in LXC we closed
> the FD associated the pipe after fork(), and that FD is now asociated 
> with a socket we use to talk to the container. So if the original signal
> handler is run bad stuff will happen in the child. 

Actually ignore this version of the patch for now - it mixes in some
code re-arrangement to fix some error reporting, but there's some more
troublesome error reporting problems still broken. So I'll do a patch
to fix error reporting first, and then re-post this.

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