Fix: Don't wait during registration if clock_gettime() fails
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 23 Apr 2015 17:07:38 +0000 (13:07 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 23 Apr 2015 17:15:00 +0000 (13:15 -0400)
get_constructor_timeout() currently returns -1 which, according to
the lttng-ust(3) man page and lttng_ust_init() implementation,
"waits forever".

This changes the behavior to match what is expressed in the comments.

Comments in get_constructor_timeout() and get_timeout() are also
modified to match the following convention:

-1: wait forever
0: don't wait
1: wait for "constructor_delay_ms"

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
liblttng-ust/lttng-ust-comm.c

index 378ca21cfc71f354a282fe4a9a521cf77319ef02..f40683d37c306fc3157de9793a258d4f58e0f3fe 100644 (file)
@@ -399,7 +399,7 @@ int setup_local_apps(void)
 
 /*
  * Get notify_sock timeout, in ms.
- * -1: don't wait. 0: wait forever. >0: timeout, in ms.
+ * -1: wait forever. 0: don't wait. >0: timeout, in ms.
  */
 static
 long get_timeout(void)
@@ -422,7 +422,7 @@ long get_notify_sock_timeout(void)
 }
 
 /*
- * Return values: -1: don't wait. 0: wait forever. 1: timeout wait.
+ * Return values: -1: wait forever. 0: don't wait. 1: timeout wait.
  */
 static
 int get_constructor_timeout(struct timespec *constructor_timeout)
@@ -445,7 +445,8 @@ int get_constructor_timeout(struct timespec *constructor_timeout)
         */
        ret = clock_gettime(CLOCK_REALTIME, constructor_timeout);
        if (ret) {
-               return -1;
+               /* Don't wait. */
+               return 0;
        }
        constructor_timeout->tv_sec += constructor_delay_ms / 1000UL;
        constructor_timeout->tv_nsec +=
@@ -454,6 +455,7 @@ int get_constructor_timeout(struct timespec *constructor_timeout)
                constructor_timeout->tv_sec++;
                constructor_timeout->tv_nsec -= 1000000000UL;
        }
+       /* Timeout wait (constructor_delay_ms). */
        return 1;
 }
 
This page took 0.025725 seconds and 4 git commands to generate.