
On Fri, Mar 07, 2014 at 09:56:10AM -0700, Eric Blake wrote:
On 03/04/2014 06:59 AM, Eric Blake wrote:
On 03/04/2014 06:47 AM, Daniel P. Berrange wrote:
On Tue, Mar 04, 2014 at 06:28:17AM -0700, Eric Blake wrote:
POSIX requires that <stdlib.h> expose WIFEXITED and friends, but FreeBSD and others fail to comply. We can work around it manually by including <sys/wait.h>, or we can work around it automatically by using gnulib's system-posix module.
* bootstrap.conf (gnulib_modules): Add system-posix.
Signed-off-by: Eric Blake <eblake@redhat.com> ---
I'll wait for a review on this one - we don't use system(), and it feels a little bit odd to list the system() module merely for its side effect of a fixed <stdlib.h>. The alternative is to continue using <sys/wait.h> everywhere that we use WIFEXITED and friends.
Perhaps we should have a helper in util/virprocess.{c,h} for this, so no code outside that file ever need use WIFEXITED ?
We already have a couple of helper functions, and my recent virFork cleanups got rid of even more clients of WIFEXITED (that is, virCommandRun now defaults to returning sanitized rather than raw exit values). At this point, there are very few reasons for any new code to need to use WIFEXITED; it's mostly limited to existing code (but where my virFork cleanups tripped up on the FreeBSD header bug due to refactoring).
So, should I just ditch this patch?
I don't feel strongly either way. ACK if you thing it is worth doing anyway. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|