[Qemu-devel] [PATCH 11/17] vl.c: fix warning with _FORTIFY_SOURCE

2010-01-20 Thread Juan Quintela
From: Kirill A. Shutemov kir...@shutemov.name

CCi386-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
Signed-off-by: Juan Quintela quint...@redhat.com
---
 vl.c |   22 ++
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/vl.c b/vl.c
index e070ec9..9c74038 100644
--- a/vl.c
+++ b/vl.c
@@ -3185,11 +3185,17 @@ static int io_thread_fd = -1;
 static void qemu_event_increment(void)
 {
 static const char byte = 0;
+ssize_t ret;

 if (io_thread_fd == -1)
 return;

-write(io_thread_fd, byte, sizeof(byte));
+ret = write(io_thread_fd, byte, sizeof(byte));
+if (ret  0  (errno != EINTR  errno != EAGAIN)) {
+fprintf(stderr, qemu_event_increment: write() filed: %s\n,
+strerror(errno));
+exit (1);
+}
 }

 static void qemu_event_read(void *opaque)
@@ -5594,7 +5600,9 @@ 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(daemonize. Writing to pipe\n);
+}
 } else
 #endif
 fprintf(stderr, Could not acquire pid file: %s\n, 
strerror(errno));
@@ -5893,7 +5901,10 @@ int main(int argc, char **argv, char **envp)
if (len != 1)
exit(1);

-   chdir(/);
+if (chdir(/)) {
+perror(not able to chdir to /);
+exit(1);
+}
TFR(fd = qemu_open(/dev/null, O_RDWR));
if (fd == -1)
exit(1);
@@ -5912,7 +5923,10 @@ int main(int argc, char **argv, char **envp)
 fprintf(stderr, chroot failed\n);
 exit(1);
 }
-chdir(/);
+if (chdir(/)) {
+perror(not able to chdir to /);
+exit(1);
+}
 }

 if (run_as) {
-- 
1.6.6





[Qemu-devel] [PATCH 11/17] vl.c: fix warning with _FORTIFY_SOURCE

2010-01-19 Thread Juan Quintela
From: Kirill A. Shutemov kir...@shutemov.name

CCi386-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
Signed-off-by: Juan Quintela quint...@redhat.com
---
 vl.c |   22 ++
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/vl.c b/vl.c
index 06cb40d..7c29179 100644
--- a/vl.c
+++ b/vl.c
@@ -3176,11 +3176,17 @@ static int io_thread_fd = -1;
 static void qemu_event_increment(void)
 {
 static const char byte = 0;
+ssize_t ret;

 if (io_thread_fd == -1)
 return;

-write(io_thread_fd, byte, sizeof(byte));
+ret = write(io_thread_fd, byte, sizeof(byte));
+if (ret  0  (errno != EINTR  errno != EAGAIN)) {
+fprintf(stderr, qemu_event_increment: write() filed: %s\n,
+strerror(errno));
+exit (1);
+}
 }

 static void qemu_event_read(void *opaque)
@@ -5585,7 +5591,9 @@ 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(daemonize. Writing to pipe\n);
+}
 } else
 #endif
 fprintf(stderr, Could not acquire pid file: %s\n, 
strerror(errno));
@@ -5884,7 +5892,10 @@ int main(int argc, char **argv, char **envp)
if (len != 1)
exit(1);

-   chdir(/);
+if (chdir(/)) {
+perror(not able to chdir to /);
+exit(1);
+}
TFR(fd = qemu_open(/dev/null, O_RDWR));
if (fd == -1)
exit(1);
@@ -5903,7 +5914,10 @@ int main(int argc, char **argv, char **envp)
 fprintf(stderr, chroot failed\n);
 exit(1);
 }
-chdir(/);
+if (chdir(/)) {
+perror(not able to chdir to /);
+exit(1);
+}
 }

 if (run_as) {
-- 
1.6.5.2