
On Friday, March 07, 2014 05:16:48 PM Osier Yang wrote:
$hook->cleanup(); + + # Restarting libvirtd broke the tck connection, so ignore sigpipe and + # undefine $tck to avoid a return code of 141 + $SIG{PIPE} = 'IGNORE'; + undef $tck;
We should get the libvirt "connection" closed before restarting libvirtd, in tck, it should be "$tck->cleanup()".
I should have stated in the original email that "$tck->cleanup()" does not help here. With just "$tck->cleanup()" after "$hook->cleanup()", the test still exists with a return code of 141. If I add the code to ignore the SIGPIPE, the test ends with the following messages: libvirt error code: 38, message: Cannot write data: Broken pipe libvirt error code: 1, message: internal error: client socket is closed If the test restarts libvirtd (using `service libvirtd restart`), the only way I can get it to end with an exit code of 0 is to undefine $tck. If you have any other ideas, I'd be happy to test them... -Mike