monitor: add lock to protect mon_fdsets
commit474514668b47c9d2148b526e379ffbb6764d9a9e
authorPeter Xu <peterx@redhat.com>
Fri, 8 Jun 2018 03:55:11 +0000 (8 11:55 +0800)
committerMarkus Armbruster <armbru@redhat.com>
Mon, 18 Jun 2018 13:48:22 +0000 (18 15:48 +0200)
tree093a62a7cd6cf125fb9987e17574c58524df3aa8
parentd32749deb61513c5456901f20e19887e1bc3d7f3
monitor: add lock to protect mon_fdsets

Introduce a new global big lock for mon_fdsets.  Take it where needed.

The monitor_fdset_get_fd() handling is a bit tricky: now we need to call
qemu_mutex_unlock() which might pollute errno, so we need to make sure
the correct errno be passed up to the callers.  To make things simpler,
we let monitor_fdset_get_fd() return the -errno directly when error
happens, then in qemu_open() we move it back into errno.

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20180608035511.7439-8-peterx@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
monitor.c
stubs/fdset.c
util/osdep.c