I'm not sure if this is the right way to solve this, but it is a way. Rich.
Index: qemud/qemud.c =================================================================== RCS file: /data/cvs/libvirt/qemud/qemud.c,v retrieving revision 1.34 diff -u -r1.34 qemud.c --- qemud/qemud.c 22 Mar 2007 18:30:57 -0000 1.34 +++ qemud/qemud.c 26 Mar 2007 14:38:33 -0000 @@ -60,12 +60,15 @@ static void sig_handler(int sig) { unsigned char sigc = sig; int origerrno; + int dummy; if (sig == SIGCHLD) /* We explicitly waitpid the child later */ return; origerrno = errno; - write(sigwrite, &sigc, 1); + dummy = write(sigwrite, &sigc, 1); + /* http://www.redhat.com/archives/fedora-devel-list/2007-March/msg00692.html */ + (void) dummy; errno = origerrno; }