[Libguestfs] [PATCH] Fix virt-v2v exit codes
Matthew Booth
mbooth at redhat.com
Mon Apr 26 12:58:01 UTC 2010
On 26/04/10 13:38, Richard W.M. Jones wrote:
> On Mon, Apr 26, 2010 at 12:04:23PM +0100, Matthew Booth wrote:
>> # Make certain the child process dies with the object
>> if (defined($self->{pid})) {
>> kill(9, $self->{pid});
>> waitpid($self->{pid}, WNOHANG);
>> + $retval ||= $?;
>
> So the non-obvious reason why this works is because waitpid returns
> the child status in $?.
Yeah. That could probably do with a comment.
>> + my $retval = $?
>> +
>> # Note that this undef is what actually causes the underlying handle to
>> # be closed. This is required to allow the RHEV target's temporary mount
>> # directory to be unmounted and deleted prior to exit.
>> $g = undef;
>> +
>> + $? ||= $retval;
>
> I'm a bit confused by this though. AFAICT the Guestfs::DESTROY
> function shouldn't change $?.
Actually I had no specific evidence that it did, I was just trying to
cover bases. Do you think this is unnecessary?
Matt
--
Matthew Booth, RHCA, RHCSS
Red Hat Engineering, Virtualisation Team
M: +44 (0)7977 267231
GPG ID: D33C3490
GPG FPR: 3733 612D 2D05 5458 8A8A 1600 3441 EA19 D33C 3490
More information about the Libguestfs
mailing list