From: Marc-André Lureau <marcandre.lur...@redhat.com> As per comment, presumably to avoid syscall in critical section.
Fixes: 0210c3b39bef08 ("monitor: Use LOCK_GUARD macros") Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- monitor/fds.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/monitor/fds.c b/monitor/fds.c index 26b39a0ce6..03c5e97c35 100644 --- a/monitor/fds.c +++ b/monitor/fds.c @@ -80,7 +80,7 @@ void qmp_getfd(const char *fdname, Error **errp) return; } - QEMU_LOCK_GUARD(&cur_mon->mon_lock); + qemu_mutex_lock(&cur_mon->mon_lock); QLIST_FOREACH(monfd, &cur_mon->fds, next) { if (strcmp(monfd->name, fdname) != 0) { continue; @@ -88,6 +88,7 @@ void qmp_getfd(const char *fdname, Error **errp) tmp_fd = monfd->fd; monfd->fd = fd; + qemu_mutex_unlock(&cur_mon->mon_lock); /* Make sure close() is outside critical section */ close(tmp_fd); return; @@ -98,6 +99,7 @@ void qmp_getfd(const char *fdname, Error **errp) monfd->fd = fd; QLIST_INSERT_HEAD(&cur_mon->fds, monfd, next); + qemu_mutex_unlock(&cur_mon->mon_lock); } void qmp_closefd(const char *fdname, Error **errp) -- 2.39.1