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++) {
/*
- * 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.
/* 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);
/*
- * 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.
if (!inited) {
inited = true;
xpipe(fds);
- set_nonblocking(fds[0]);
- set_nonblocking(fds[1]);
+ xset_nonblocking(fds[0]);
+ xset_nonblocking(fds[1]);
}
}
}
}
+void
+xset_nonblocking(int fd)
+{
+ if (set_nonblocking(fd)) {
+ exit(EXIT_FAILURE);
+ }
+}
+
static int
set_dscp(int fd, uint8_t dscp)
{
#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);