From: Jérémie Galarneau Date: Thu, 23 Apr 2015 17:07:38 +0000 (-0400) Subject: Fix: Don't wait during registration if clock_gettime() fails X-Git-Tag: v2.7.0-rc1~41 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=28515902a0c1d721e1a92c4a25f20574e0e4f24a;p=lttng-ust.git Fix: Don't wait during registration if clock_gettime() fails 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 Signed-off-by: Mathieu Desnoyers --- diff --git a/liblttng-ust/lttng-ust-comm.c b/liblttng-ust/lttng-ust-comm.c index cc5188f6..ace63bb8 100644 --- a/liblttng-ust/lttng-ust-comm.c +++ b/liblttng-ust/lttng-ust-comm.c @@ -402,7 +402,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) @@ -425,7 +425,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) @@ -448,7 +448,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 += @@ -457,6 +458,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; }