[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 19/28] tools/libxl: Convert a legacy stream if needed
On 13/07/15 15:51, Ian Jackson wrote: > Andrew Cooper writes ("[PATCH v3 19/28] tools/libxl: Convert a legacy stream > if needed"): >> For backwards compatibility, a legacy stream needs converting before >> it can be read by the v2 stream logic. >> >> This causes the v2 stream logic to need to juggle two parallel tasks. >> check_all_finished() is introduced for the purpose of joining the >> tasks in both success and error cases. > ... >> + /* If we started a conversion helper, we took ownership of its carefd. >> */ >> + if (stream->chs.v2_carefd) >> + libxl__carefd_close(stream->chs.v2_carefd); > This would be more obviously correct (or at least more obviously never > leak a carefd) if you set v2_carefd to NULL here, and asserted its > NULLness at the end of check_all_finished just before making the > callback. This argument applies to all the cleanup in this function, but we already assert that stream_done() is strictly executed once. It would seem wrong to me to check just v2_carefd here, given all the other resources in need of cleanup. > > (I looked to see if you initialised it to NULL as well; you don't, but > the existing code is not consistent about whether it works on systems > where all-bits-0 is not NULL, and I think it unlikely that Xen would > ever be made to work on such a system.) Given how POSIX-dependent libxl is, I don't see this being likely either. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |