Do not disturb old fd flags (eg O_APPEND) when setting nonblock, by
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 18 Jul 2008 16:34:43 +0000 (16:34 +0000)
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 18 Jul 2008 16:34:43 +0000 (16:34 +0000)
Ian Jackson.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4888 c046a42c-6fe2-441c-8c8c-71466251a162

vl.c

diff --git a/vl.c b/vl.c
index 613fa84..59e58a1 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -2141,7 +2141,9 @@ static inline int send_all(int fd, const uint8_t *buf, int len1)
 
 void socket_set_nonblock(int fd)
 {
-    fcntl(fd, F_SETFL, O_NONBLOCK);
+    int f;
+    f = fcntl(fd, F_GETFL);
+    fcntl(fd, F_SETFL, f | O_NONBLOCK);
 }
 #endif /* !_WIN32 */