On Wed, Mar 23, 2011 at 05:48:11PM -0600, Eric Blake wrote: > Child processes don't always reach _exit(); if they die from a > signal, then any messages should still be accurate. Most users > either expect a 0 status (thankfully, if status==0, then > WIFEXITED(status) is true and WEXITSTATUS(status)==0 for all > known platforms) or were filtering on WIFEXITED before printing > a status, but a few were missing this check. Additionally, > nwfilter_ebiptables_driver was making an assumption that works > on Linux (where WEXITSTATUS shifts and WTERMSIG just masks) > but fails on other platforms (where WEXITSTATUS just masks and > WTERMSIG shifts). > > * src/util/command.h (virCommandTranslateStatus): New helper. > * src/libvirt_private.syms (command.h): Export it. > * src/util/command.c (virCommandTranslateStatus): New function. > (virCommandWait): Use it to also diagnose status from signals. > * src/security/security_apparmor.c (load_profile): Likewise. > * src/storage/storage_backend.c > (virStorageBackendQEMUImgBackingFormat): Likewise. > * src/util/util.c (virExecDaemonize, virRunWithHook) > (virFileOperation, virDirCreate): Likewise. > * daemon/remote.c (remoteDispatchAuthPolkit): Likewise. > * src/nwfilter/nwfilter_ebiptables_driver.c (ebiptablesExecCLI): > Likewise. > --- > > v2: in daemon/remote.c, don't fail to log a minimal error on OOM. ACK, Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list