Message ID | 1261273167-3240-3-git-send-email-kirill@shutemov.name |
---|---|
State | New |
Headers | show |
> --- a/posix-aio-compat.c > +++ b/posix-aio-compat.c > @@ -502,7 +502,8 @@ static void aio_signal_handler(int signum) > if (posix_aio_state) { > char byte = 0; > > - write(posix_aio_state->wfd, &byte, sizeof(byte)); > + if (write(posix_aio_state->wfd, &byte, sizeof(byte)) != sizeof(byte)) > + die("write()"); I'm pretty sure this change is wrong, and shows why you should never blindly believe dumb analysis tools. The write may fail harmlessly if the pipe is already full. Paul
diff --git a/posix-aio-compat.c b/posix-aio-compat.c index dc14f53..555e263 100644 --- a/posix-aio-compat.c +++ b/posix-aio-compat.c @@ -502,7 +502,8 @@ static void aio_signal_handler(int signum) if (posix_aio_state) { char byte = 0; - write(posix_aio_state->wfd, &byte, sizeof(byte)); + if (write(posix_aio_state->wfd, &byte, sizeof(byte)) != sizeof(byte)) + die("write()"); } qemu_service_io();
CC posix-aio-compat.o cc1: warnings being treated as errors posix-aio-compat.c: In function 'aio_signal_handler': posix-aio-compat.c:505: error: ignoring return value of 'write', declared with attribute warn_unused_result make: *** [posix-aio-compat.o] Error 1 Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name> --- posix-aio-compat.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)