]> git.ipfire.org Git - thirdparty/libvirt.git/commit
Revert "rpc: Discard non-blocking calls only when necessary"
authorJiri Denemark <jdenemar@redhat.com>
Mon, 21 May 2012 14:02:05 +0000 (16:02 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Tue, 22 May 2012 21:33:11 +0000 (23:33 +0200)
commit63643f67abcdeaa33a0f85ea8e54da75ea9908e4
tree55223d90dccd32d15ec1a36e7e0269f6163d9ddf
parentdb19417fc012416639c2230e5f19717b84245ce5
Revert "rpc: Discard non-blocking calls only when necessary"

This reverts commit b1e374a7ac56927cfe62435179bf0bba1e08b372, which was
rather bad since I failed to consider all sides of the issue. The main
things I didn't consider properly are:

- a thread which sends a non-blocking call waits for the thread with
  the buck to process the call
- the code doesn't expect non-blocking calls to remain in the queue
  unless they were already partially sent

Thus, the reverted patch actually breaks more than what it fixes and
clients (which may even be libvirtd during p2p migrations) will likely
end up in a deadlock.
src/rpc/virnetclient.c