Initialize the timetracking module in each userspace program.
authorBen Pfaff <blp@nicira.com>
Tue, 12 Aug 2008 20:13:16 +0000 (13:13 -0700)
committerBen Pfaff <blp@nicira.com>
Tue, 12 Aug 2008 22:21:30 +0000 (15:21 -0700)
Also, use time_alarm() instead of the POSIX alarm() function, because
alarm() interferes with time_alarm().

controller/controller.c
secchan/secchan.c
switch/switch.c
utilities/dpctl.c
utilities/ofp-discover.c
utilities/ofp-kill.c
utilities/vlogconf.c

index 61a550a41c821a2316ef5d8bb7af152d8b765086..2176fa778b458cf993e62e0e020c0631595c959a 100644 (file)
@@ -48,6 +48,7 @@
 #include "openflow.h"
 #include "poll-loop.h"
 #include "rconn.h"
+#include "timeval.h"
 #include "util.h"
 #include "vconn-ssl.h"
 #include "vconn.h"
@@ -89,6 +90,7 @@ main(int argc, char *argv[])
 
     set_program_name(argv[0]);
     register_fault_handlers();
+    time_init();
     vlog_init();
     parse_options(argc, argv);
 
index 30531988a8108c971eb27a12e43031f096ebfc42..6c0a70d25695da7d6ed3592a9c402a801416e506 100644 (file)
@@ -61,6 +61,7 @@
 #include "packets.h"
 #include "poll-loop.h"
 #include "rconn.h"
+#include "timeval.h"
 #include "util.h"
 #include "vconn-ssl.h"
 #include "vconn.h"
@@ -165,6 +166,7 @@ main(int argc, char *argv[])
 
     set_program_name(argv[0]);
     register_fault_handlers();
+    time_init();
     vlog_init();
     parse_options(argc, argv, &s);
 
index d745bc83566c953304215d5b234601f45410efe6..8224089d3b593a5491a9bd873e9596aded1dec37 100644 (file)
@@ -48,6 +48,7 @@
 #include "queue.h"
 #include "util.h"
 #include "rconn.h"
+#include "timeval.h"
 #include "vconn.h"
 #include "vconn-ssl.h"
 #include "vlog-socket.h"
@@ -77,6 +78,7 @@ main(int argc, char *argv[])
 
     set_program_name(argv[0]);
     register_fault_handlers();
+    time_init();
     vlog_init();
     parse_options(argc, argv);
 
index 224c7cafc92ebea89d316422cec9d88f373ed715..8a075f915c928235091b252619f95c00ea50cca4 100644 (file)
@@ -36,6 +36,7 @@
 #include <getopt.h>
 #include <inttypes.h>
 #include <netinet/in.h>
+#include <signal.h>
 #include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
@@ -55,7 +56,7 @@
 #include "openflow.h"
 #include "ofp-print.h"
 #include "random.h"
-#include "signal.h"
+#include "timeval.h"
 #include "vconn.h"
 #include "vconn-ssl.h"
 
@@ -84,6 +85,7 @@ int main(int argc, char *argv[])
     struct command *p;
 
     set_program_name(argv[0]);
+    time_init();
     vlog_init();
     parse_options(argc, argv);
 
@@ -140,14 +142,9 @@ parse_options(int argc, char *argv[])
             if (timeout <= 0) {
                 fatal(0, "value %s on -t or --timeout is not at least 1",
                       optarg);
-            } else if (timeout < UINT_MAX) {
-                /* Add 1 because historical implementations allow an alarm to
-                 * occur up to a second early. */
-                alarm(timeout + 1);
             } else {
-                alarm(UINT_MAX);
+                time_alarm(timeout);
             }
-            signal(SIGALRM, SIG_DFL);
             break;
 
         case 'h':
index 7dfc56af06c4a8653353da19ccd26e99e42826d4..bf5e92d4ec76782d7748717f91b9ccd0c6f91c8f 100644 (file)
@@ -46,6 +46,7 @@
 #include "fatal-signal.h"
 #include "netdev.h"
 #include "poll-loop.h"
+#include "timeval.h"
 #include "util.h"
 #include "vlog-socket.h"
 
@@ -90,6 +91,7 @@ main(int argc, char *argv[])
     int i;
 
     set_program_name(argv[0]);
+    time_init();
     vlog_init();
     parse_options(argc, argv);
 
@@ -152,7 +154,7 @@ main(int argc, char *argv[])
                     struct ds ds;
 
                     /* Disable timeout, since discovery was successful. */
-                    alarm(0);
+                    time_alarm(0);
 
                     /* Print discovered parameters. */
                     ds_init(&ds);
@@ -344,12 +346,8 @@ parse_options(int argc, char *argv[])
             if (timeout <= 0) {
                 fatal(0, "value %s on -t or --timeout is not at least 1",
                       optarg);
-            } else if (timeout < UINT_MAX) {
-                /* Add 1 because historical implementations allow an alarm to
-                 * occur up to a second early. */
-                alarm(timeout + 1);
             } else {
-                alarm(UINT_MAX);
+                time_alarm(timeout);
             }
             signal(SIGALRM, SIG_DFL);
             break;
index 9647f466d7bc4787c48db73af9500dd659f43b01..b04a43a99c49e7da2d7c930b76c87ac93e5ff7c0 100644 (file)
@@ -41,6 +41,7 @@
 #include <string.h>
 #include "command-line.h"
 #include "daemon.h"
+#include "timeval.h"
 #include "util.h"
 
 /* -s, --signal: signal to send. */
@@ -62,6 +63,7 @@ main(int argc, char *argv[])
     int i;
 
     set_program_name(argv[0]);
+    time_init();
     parse_options(argc, argv);
 
     argc -= optind;
index 838597d436c7786c70247ce438b59d6ff40e788a..b68c5357ed25be45fa95c5818e1100d882e51205 100644 (file)
@@ -43,6 +43,7 @@
 
 #include "command-line.h"
 #include "compiler.h"
+#include "timeval.h"
 #include "util.h"
 #include "vlog-socket.h"
 
@@ -157,6 +158,7 @@ int main(int argc, char *argv[])
     size_t n_clients = 0;
 
     set_program_name(argv[0]);
+    time_init();
 
     short_options = long_options_to_short_options(long_options);
     for (;;) {