diff options
author | ajs <ajs> | 2005-02-16 20:40:25 +0000 |
---|---|---|
committer | ajs <ajs> | 2005-02-16 20:40:25 +0000 |
commit | 52e66296f236cdda751e4206ad3d39c56e53f0fd (patch) | |
tree | b7d2162fe1e63946e56b47511a08db2fe36ef68e /watchquagga/watchquagga.c | |
parent | 262feb1ad0838bb585955b6ada5acbe106dbc9bf (diff) |
2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* watchquagga.c: (try_connect) Use new set_nonblocking function instead
of calling fcntl directly.
Diffstat (limited to 'watchquagga/watchquagga.c')
-rw-r--r-- | watchquagga/watchquagga.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/watchquagga/watchquagga.c b/watchquagga/watchquagga.c index 772b4294..cde21b99 100644 --- a/watchquagga/watchquagga.c +++ b/watchquagga/watchquagga.c @@ -1,5 +1,5 @@ /* - $Id: watchquagga.c,v 1.9 2005/01/12 16:24:51 ajs Exp $ + $Id: watchquagga.c,v 1.10 2005/02/16 20:40:25 ajs Exp $ Monitor status of quagga daemons and restart if necessary. @@ -23,6 +23,7 @@ #include <zebra.h> #include <thread.h> #include <log.h> +#include <network.h> #include <sigevent.h> #include <lib/version.h> #include <getopt.h> @@ -733,7 +734,6 @@ try_connect(struct daemon *dmn) int sock; struct sockaddr_un addr; socklen_t len; - int flags; if (gs.loglevel > LOG_DEBUG+1) zlog_debug("%s: attempting to connect",dmn->name); @@ -766,18 +766,10 @@ try_connect(struct daemon *dmn) return -1; } - /* Set non-blocking. */ - if ((flags = fcntl(sock, F_GETFL, 0)) < 0) + if (set_nonblocking(sock) < 0) { - zlog_err("%s(%s): fcntl(F_GETFL) failed: %s", - __func__,addr.sun_path, safe_strerror(errno)); - close(sock); - return -1; - } - if (fcntl(sock, F_SETFL, (flags|O_NONBLOCK)) < 0) - { - zlog_err("%s(%s): fcntl(F_SETFL,O_NONBLOCK) failed: %s", - __func__,addr.sun_path, safe_strerror(errno)); + zlog_err("%s(%s): set_nonblocking(%d) failed", + __func__, addr.sun_path, sock); close(sock); return -1; } |