On Sun, Dec 20, 2009 at 1:39 AM, Kirill A. Shutemov <kir...@shutemov.name> wrote: > CC i386-softmmu/vl.o > cc1: warnings being treated as errors > /usr/src/RPM/BUILD/qemu-0.11.92/vl.c: In function 'qemu_event_increment': > /usr/src/RPM/BUILD/qemu-0.11.92/vl.c:3404: error: ignoring return value of > 'write', declared with attribute warn_unused_result > /usr/src/RPM/BUILD/qemu-0.11.92/vl.c: In function 'main': > /usr/src/RPM/BUILD/qemu-0.11.92/vl.c:5774: error: ignoring return value of > 'write', declared with attribute warn_unused_result > /usr/src/RPM/BUILD/qemu-0.11.92/vl.c:6064: error: ignoring return value of > 'chdir', declared with attribute warn_unused_result > /usr/src/RPM/BUILD/qemu-0.11.92/vl.c:6083: error: ignoring return value of > 'chdir', declared with attribute warn_unused_result > make[1]: *** [vl.o] Error 1 > > Signed-off-by: Kirill A. Shutemov <kir...@shutemov.name> > --- > vl.c | 15 +++++++++++---- > 1 files changed, 11 insertions(+), 4 deletions(-) > > diff --git a/vl.c b/vl.c > index e606903..60a2c5e 100644 > --- a/vl.c > +++ b/vl.c > @@ -3383,7 +3383,11 @@ static void qemu_event_increment(void) > if (io_thread_fd == -1) > return; > > - write(io_thread_fd, &byte, sizeof(byte)); > + if (write(io_thread_fd, &byte, sizeof(byte)) != sizeof(byte)){ > + fprintf(stderr, "qemu_event_increment: write() filed: %s\n", > + strerror(errno)); > + exit (1); > + } > } > > static void qemu_event_read(void *opaque) > @@ -5767,7 +5771,8 @@ int main(int argc, char **argv, char **envp) > #ifndef _WIN32 > if (daemonize) { > uint8_t status = 1; > - write(fds[1], &status, 1); > + if (write(fds[1], &status, 1) != 1) > + perror("write()"); > } else > #endif > fprintf(stderr, "Could not acquire pid file: %s\n", > strerror(errno)); > @@ -6064,7 +6069,8 @@ int main(int argc, char **argv, char **envp) > if (len != 1) > exit(1); > > - chdir("/"); > + if (chdir("/")) > + exit(1); > TFR(fd = qemu_open("/dev/null", O_RDWR)); > if (fd == -1) > exit(1); > @@ -6083,7 +6089,8 @@ int main(int argc, char **argv, char **envp) > fprintf(stderr, "chroot failed\n"); > exit(1); > } > - chdir("/"); > + if (chdir("/")) > + exit(1);
Can't comment much on write() parts. chdir() checks are OK, except an error message would be in order.