From: Ben Pfaff Date: Mon, 14 May 2012 21:40:06 +0000 (-0700) Subject: socket-util: New function xset_nonblocking(). X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff_plain;h=a0505c49dd98b393f4c47a423f325008443eb1ee socket-util: New function xset_nonblocking(). Signed-off-by: Ben Pfaff --- diff --git a/lib/fatal-signal.c b/lib/fatal-signal.c index 9130a230..21ebb5a8 100644 --- a/lib/fatal-signal.c +++ b/lib/fatal-signal.c @@ -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++) { diff --git a/lib/process.c b/lib/process.c index fcb869fb..91dfc064 100644 --- a/lib/process.c +++ b/lib/process.c @@ -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); diff --git a/lib/signals.c b/lib/signals.c index 98fe23eb..b712f7e7 100644 --- a/lib/signals.c +++ b/lib/signals.c @@ -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]); } } diff --git a/lib/socket-util.c b/lib/socket-util.c index 53d0fb69..939cd90f 100644 --- a/lib/socket-util.c +++ b/lib/socket-util.c @@ -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) { diff --git a/lib/socket-util.h b/lib/socket-util.h index 4a1df12e..e2e0d9a2 100644 --- a/lib/socket-util.h +++ b/lib/socket-util.h @@ -26,6 +26,8 @@ #include 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);