From: Marc-André Lureau Date: Wed, 20 Apr 2022 13:26:18 +0000 (+0400) Subject: util: simplify write in signal handler X-Git-Tag: v7.1.0-rc0~140^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d0dedf2f4c116293d82d0bda510e4bb4d7dfac26;p=thirdparty%2Fqemu.git util: simplify write in signal handler Use qemu_write_full() instead of open-coding a write loop. Signed-off-by: Marc-André Lureau Reviewed-by: Daniel P. Berrangé Message-Id: <20220420132624.2439741-36-marcandre.lureau@redhat.com> --- diff --git a/util/compatfd.c b/util/compatfd.c index ab810c42a92..55b6e0b7fb2 100644 --- a/util/compatfd.c +++ b/util/compatfd.c @@ -42,25 +42,11 @@ static void *sigwait_compat(void *opaque) } } else { struct qemu_signalfd_siginfo buffer; - size_t offset = 0; - memset(&buffer, 0, sizeof(buffer)); buffer.ssi_signo = sig; - while (offset < sizeof(buffer)) { - ssize_t len; - - len = write(info->fd, (char *)&buffer + offset, - sizeof(buffer) - offset); - if (len == -1 && errno == EINTR) { - continue; - } - - if (len <= 0) { - return NULL; - } - - offset += len; + if (qemu_write_full(info->fd, &buffer, sizeof(buffer)) != sizeof(buffer)) { + return NULL; } } }