
Daniel P. Berrange wrote:
I still see a safewrite() in the your virStreamWrite() impl in the code currently pushed to gitorious.or, but perhaps you've changed that locally already. The other thing is that if the stream open
Yeah, sorry, I just never pushed it up to gitorious. I'll make the changes along with the virSetNonBlock() and push it up there, probably tomorrow.
flags included VIR_STREAM_NONBLOCK, you must make sur eyou put your socket in non-blocking mode, eg
if ((st->flags & VIR_STREAM_NONBLOCK) && virSetNonBlock(create ? fds[1] : fds[0]) < 0) { virReportSystemError(st->conn, errno, "%s", _("cannot make stream non-blocking")); goto error; }
in your stream open method. That shouldn't have caused a crash though - it would merely make libvirtd non-responsive for a while it QEMU blocked the incoming migration socket.
All in all though the code looks reasonable and I don't see any obvious problems. I'll have to try running it to see if any crash appears....
Thanks. -- Chris Lalancette