]> 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)
committerCole Robinson <crobinso@redhat.com>
Thu, 14 Jun 2012 22:22:51 +0000 (18:22 -0400)
commitd4d8774468245465c6ab9d6ae7145d08f3ff5958
treee4b74e66814d6922e26ae48dcf09400d4a2e1758
parent3600eec4d18bab55acee98364e3378d542af928a
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.
(cherry picked from commit 63643f67abcdeaa33a0f85ea8e54da75ea9908e4)
src/rpc/virnetclient.c