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 :| -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list