
On Wed, Jun 13, 2012 at 01:29:21AM +0200, Jiri Denemark wrote:
So far, we were dropping non-blocking calls whenever sending them would block. In case a client is sending lots of stream calls (which are not supposed to generate any reply), the assumption that having other calls in a queue is sufficient to get a reply from the server doesn't work. I tried to fix this in b1e374a7ac56927cfe62435179bf0bba1e08b372 but failed and reverted that commit.
With this patch, non-blocking calls are never dropped (unless the connection is being closed) and will always be sent. --- src/rpc/virnetclient.c | 164 +++++++++++++++++++++--------------------------- 1 file changed, 71 insertions(+), 93 deletions(-)
ACK, quite complex to follow but the principle is good - dropping calls always felt slightly wrong. 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 :|