[libvirt] [PATCHv2 1/3] command: properly diagnose process exit via signal

Daniel Veillard veillard at redhat.com
Fri Mar 25 03:12:53 UTC 2011


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 at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list