Set DHCP maximum retransmission timeout to 3 seconds in secchan.
[sliver-openvswitch.git] / lib / vlog-socket.c
index a9f8a52..ec0b6d4 100644 (file)
@@ -46,6 +46,7 @@
 #include "fatal-signal.h"
 #include "poll-loop.h"
 #include "socket-util.h"
+#include "timeval.h"
 #include "util.h"
 #include "vlog.h"
 
@@ -91,10 +92,10 @@ vlog_server_listen(const char *path, struct vlog_server **serverp)
     server->fd = make_unix_socket(SOCK_DGRAM, true, true, server->path, NULL);
     if (server->fd < 0) {
         int fd = server->fd;
-        free(server->path);
-        free(server);
         fprintf(stderr, "Could not initialize vlog configuration socket: %s\n",
                 strerror(-server->fd));
+        free(server->path);
+        free(server);
         if (serverp) {
             *serverp = NULL; 
         }
@@ -212,7 +213,7 @@ recv_with_creds(const struct vlog_server *server,
         fprintf(stderr, "vlog: config message not from a socket\n");
         return -1;
     }
-    recent = time(0) - 30;
+    recent = time_now() - 30;
     if (s.st_atime < recent || s.st_ctime < recent || s.st_mtime < recent) {
         fprintf(stderr, "vlog: config socket too old\n");
         return -1;
@@ -383,11 +384,11 @@ vlog_client_recv(struct vlog_client *client, char **reply)
 
     pfd.fd = client->fd;
     pfd.events = POLLIN;
-    nfds = poll(&pfd, 1, 1000);
+    nfds = time_poll(&pfd, 1, 1000);
     if (nfds == 0) {
         return ETIMEDOUT;
     } else if (nfds < 0) {
-        return errno;
+        return -nfds;
     }
 
     nbytes = read(client->fd, buffer, sizeof buffer - 1);