summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorajs <ajs>2005-02-16 20:40:25 +0000
committerajs <ajs>2005-02-16 20:40:25 +0000
commit52e66296f236cdda751e4206ad3d39c56e53f0fd (patch)
treeb7d2162fe1e63946e56b47511a08db2fe36ef68e
parent262feb1ad0838bb585955b6ada5acbe106dbc9bf (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.
-rw-r--r--watchquagga/ChangeLog5
-rw-r--r--watchquagga/watchquagga.c18
2 files changed, 10 insertions, 13 deletions
diff --git a/watchquagga/ChangeLog b/watchquagga/ChangeLog
index 20f974ef..79261c26 100644
--- a/watchquagga/ChangeLog
+++ b/watchquagga/ChangeLog
@@ -1,3 +1,8 @@
+2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * watchquagga.c: (try_connect) Use new set_nonblocking function instead
+ of calling fcntl directly.
+
2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* watchquagga.c: (run_job) Fix bug: delay.tv_sec was being used
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;
}