On Tue, Oct 13, 2009 at 10:23:27AM +0100, Mark McLoughlin wrote:
On Mon, 2009-10-12 at 20:37 +0100, Daniel P. Berrange wrote:
> The fread_file_lim() function uses fread() but never handles
> EINTR results, causing unexpected failures when reading QEMU
> help arg info. It was unneccessarily using FILE * instead
> of plain UNIX file handles, which prevented use of saferead()
Looks like the same thing Charles Duffy reported here:
http://www.redhat.com/archives/libvir-list/2009-September/msg00662.html
Yes, that's exactly the bug. Of course you would never actually hit this
were it not for the other bug I just posted a patch for - that caused the
decompressor program to SEGV, and the SIGCHILD from that crash is what
causes this function to be interrupted :-)
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|