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(a)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?
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org