[libvirt] [PATCH libvirt-glib] Fix libvirt error message after finishing a stream

The callback is now added & removed from libvirt-gobject-stream.c It should have been part of c5a239423a215435626bf6d1af75458c5ec03147. #0 virErrorMsg (error=VIR_ERR_INTERNAL_ERROR, info=0x7fffffffcf00 "no stream callback registered") at util/virterror.c:760 #1 0x00007ffff627f304 in virReportErrorHelper (domcode=7, errcode=1, filename=0x7ffff6479a4d "rpc/virnetclientstream.c", funcname=0x7ffff6479ca0 "virNetClientStreamEventRemoveCallback", linenr=514, fmt=<optimized out>) at util/virterror.c:1260 #2 0x00007ffff6339aa4 in virNetClientStreamEventRemoveCallback (st=0x1de8ef0) at rpc/virnetclientstream.c:513 #3 0x00007ffff631a6ba in remoteStreamEventRemoveCallback (st=<optimized out>) at remote/remote_driver.c:3713 #4 0x00007ffff62fe97d in virStreamEventRemoveCallback (stream=0x1db9e00) at libvirt.c:14781 #5 0x00007ffff69114f3 in gvir_stream_update_events (stream=0x1db2570) at libvirt-gobject-stream.c:561 #6 0x00007ffff6911616 in gvir_stream_source_finalize (source=0x1da25e0) at libvirt-gobject-stream.c:606 --- libvirt-gobject/libvirt-gobject-input-stream.c | 1 - libvirt-gobject/libvirt-gobject-output-stream.c | 1 - 2 files changed, 0 insertions(+), 2 deletions(-) diff --git a/libvirt-gobject/libvirt-gobject-input-stream.c b/libvirt-gobject/libvirt-gobject-input-stream.c index 733049b..29d1c29 100644 --- a/libvirt-gobject/libvirt-gobject-input-stream.c +++ b/libvirt-gobject/libvirt-gobject-input-stream.c @@ -197,7 +197,6 @@ static gssize gvir_input_stream_read_finish(GInputStream *stream, count = g_simple_async_result_get_op_res_gssize(simple); - virStreamEventRemoveCallback(handle); virStreamFree(handle); return count; diff --git a/libvirt-gobject/libvirt-gobject-output-stream.c b/libvirt-gobject/libvirt-gobject-output-stream.c index bb82bd3..88fff85 100644 --- a/libvirt-gobject/libvirt-gobject-output-stream.c +++ b/libvirt-gobject/libvirt-gobject-output-stream.c @@ -197,7 +197,6 @@ static gssize gvir_output_stream_write_finish(GOutputStream *stream, count = g_simple_async_result_get_op_res_gssize(simple); - virStreamEventRemoveCallback(handle); virStreamFree(handle); return count; -- 1.7.7.5

On Tue, Jan 10, 2012 at 06:12:58PM +0100, Marc-André Lureau wrote:
The callback is now added & removed from libvirt-gobject-stream.c
It should have been part of c5a239423a215435626bf6d1af75458c5ec03147.
#0 virErrorMsg (error=VIR_ERR_INTERNAL_ERROR, info=0x7fffffffcf00 "no stream callback registered") at util/virterror.c:760 #1 0x00007ffff627f304 in virReportErrorHelper (domcode=7, errcode=1, filename=0x7ffff6479a4d "rpc/virnetclientstream.c", funcname=0x7ffff6479ca0 "virNetClientStreamEventRemoveCallback", linenr=514, fmt=<optimized out>) at util/virterror.c:1260 #2 0x00007ffff6339aa4 in virNetClientStreamEventRemoveCallback (st=0x1de8ef0) at rpc/virnetclientstream.c:513 #3 0x00007ffff631a6ba in remoteStreamEventRemoveCallback (st=<optimized out>) at remote/remote_driver.c:3713 #4 0x00007ffff62fe97d in virStreamEventRemoveCallback (stream=0x1db9e00) at libvirt.c:14781 #5 0x00007ffff69114f3 in gvir_stream_update_events (stream=0x1db2570) at libvirt-gobject-stream.c:561 #6 0x00007ffff6911616 in gvir_stream_source_finalize (source=0x1da25e0) at libvirt-gobject-stream.c:606 --- libvirt-gobject/libvirt-gobject-input-stream.c | 1 - libvirt-gobject/libvirt-gobject-output-stream.c | 1 - 2 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/libvirt-gobject/libvirt-gobject-input-stream.c b/libvirt-gobject/libvirt-gobject-input-stream.c index 733049b..29d1c29 100644 --- a/libvirt-gobject/libvirt-gobject-input-stream.c +++ b/libvirt-gobject/libvirt-gobject-input-stream.c @@ -197,7 +197,6 @@ static gssize gvir_input_stream_read_finish(GInputStream *stream,
count = g_simple_async_result_get_op_res_gssize(simple);
- virStreamEventRemoveCallback(handle); virStreamFree(handle);
return count; diff --git a/libvirt-gobject/libvirt-gobject-output-stream.c b/libvirt-gobject/libvirt-gobject-output-stream.c index bb82bd3..88fff85 100644 --- a/libvirt-gobject/libvirt-gobject-output-stream.c +++ b/libvirt-gobject/libvirt-gobject-output-stream.c @@ -197,7 +197,6 @@ static gssize gvir_output_stream_write_finish(GOutputStream *stream,
count = g_simple_async_result_get_op_res_gssize(simple);
- virStreamEventRemoveCallback(handle); virStreamFree(handle);
return count;
ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
participants (2)
-
Daniel P. Berrange
-
Marc-André Lureau