remote_error rerr;
memset(&rerr, 0, sizeof rerr);
stream->closed = 1;
+ virStreamEventRemoveCallback(stream->st);
virStreamAbort(stream->st);
if (events & VIR_STREAM_EVENT_HANGUP)
remoteDispatchFormatError(&rerr, "%s", _("stream had unexpected termination"));
}
}
- if (!stream->closed)
+ if (!stream->closed) {
+ virStreamEventRemoveCallback(stream->st);
virStreamAbort(stream->st);
+ }
while (curr) {
if (curr == stream) {
memset(&rerr, 0, sizeof rerr);
stream->closed = 1;
+ virStreamEventRemoveCallback(stream->st);
ret = virStreamFinish(stream->st);
if (ret < 0) {
memset(&rerr, 0, sizeof rerr);
stream->closed = 1;
+ virStreamEventRemoveCallback(stream->st);
virStreamAbort(stream->st);
if (msg->hdr.status == REMOTE_ERROR)