socket-util: New function xset_nonblocking().
authorBen Pfaff <blp@nicira.com>
Mon, 14 May 2012 21:40:06 +0000 (14:40 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 18 Jul 2012 17:29:21 +0000 (10:29 -0700)
Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/fatal-signal.c
lib/process.c
lib/signals.c
lib/socket-util.c
lib/socket-util.h

index 9130a230084b07d41ac3b8826f5bb26d5d895226..21ebb5a84a8f6eea6b0b032b0342e27e4afc6ad3 100644 (file)
@@ -75,8 +75,8 @@ fatal_signal_init(void)
         inited = true;
 
         xpipe(signal_fds);
-        set_nonblocking(signal_fds[0]);
-        set_nonblocking(signal_fds[1]);
+        xset_nonblocking(signal_fds[0]);
+        xset_nonblocking(signal_fds[1]);
 
         sigemptyset(&fatal_signal_set);
         for (i = 0; i < ARRAY_SIZE(fatal_signals); i++) {
index fcb869fbf5549e0e057dda4a259ed27599b82a45..91dfc064ca8c2ce3fb7e01cc29dce76ec9ef9608 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2009, 2010, 2011 Nicira, Inc.
+ * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -83,8 +83,8 @@ process_init(void)
 
     /* Create notification pipe. */
     xpipe(fds);
-    set_nonblocking(fds[0]);
-    set_nonblocking(fds[1]);
+    xset_nonblocking(fds[0]);
+    xset_nonblocking(fds[1]);
 
     /* Set up child termination signal handler. */
     memset(&sa, 0, sizeof sa);
index 98fe23ebe4cefc0fd626d2083a95f486b974329f..b712f7e74da8bc819a6d9fd5d0b401aaee43d0d5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2009, 2011 Nicira, Inc.
+ * Copyright (c) 2008, 2009, 2011, 2012 Nicira, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -64,8 +64,8 @@ signal_init(void)
     if (!inited) {
         inited = true;
         xpipe(fds);
-        set_nonblocking(fds[0]);
-        set_nonblocking(fds[1]);
+        xset_nonblocking(fds[0]);
+        xset_nonblocking(fds[1]);
     }
 }
 
index 53d0fb69e415faba89fbca4a4e11eeaa1d1230d8..939cd90ff8a8eef55cb809a775c424dadad9d4ac 100644 (file)
@@ -82,6 +82,14 @@ set_nonblocking(int fd)
     }
 }
 
+void
+xset_nonblocking(int fd)
+{
+    if (set_nonblocking(fd)) {
+        exit(EXIT_FAILURE);
+    }
+}
+
 static int
 set_dscp(int fd, uint8_t dscp)
 {
index 4a1df12e9567add33687c5a4fc5c2d85a082135c..e2e0d9a24a02a034f71f235b61b7b46d6dff1810 100644 (file)
@@ -26,6 +26,8 @@
 #include <netinet/ip.h>
 
 int set_nonblocking(int fd);
+void xset_nonblocking(int fd);
+
 int get_max_fds(void);
 
 int lookup_ip(const char *host_name, struct in_addr *address);