Re: [PATCH] multipathd daemon: Fix incorrect use of CLOCK_MONOTONIC in pthread

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2017-08-09 at 21:22 +0800, Gris Ge wrote:
> diff --git a/multipathd/cli.c b/multipathd/cli.c
> index 32d49766..002abe61 100644
> --- a/multipathd/cli.c
> +++ b/multipathd/cli.c
> @@ -475,7 +475,7 @@ parse_cmd (char * cmd, char ** reply, int * len, void * data, int timeout )
>  	/*
>  	 * execute handler
>  	 */
> -	if (clock_gettime(CLOCK_MONOTONIC, &tmo) == 0) {
> +	if (clock_gettime(CLOCK_REALTIME, &tmo) == 0) {
>  		tmo.tv_sec += timeout;
>  	} else {
>  		tmo.tv_sec = 0;

Hello Gris,

This is a good catch. Thanks for this fix.

> diff --git a/multipathd/main.c b/multipathd/main.c
> index 4be2c579..67997d08 100644
> --- a/multipathd/main.c
> +++ b/multipathd/main.c
> @@ -198,7 +198,7 @@ int set_config_state(enum daemon_status state)
>  		if (running_state != DAEMON_IDLE) {
>  			struct timespec ts;
>  
> -			clock_gettime(CLOCK_MONOTONIC, &ts);
> +			clock_gettime(CLOCK_REALTIME, &ts);
>  			ts.tv_sec += 1;
>  			rc = pthread_cond_timedwait(&config_cond,
>  						    &config_lock, &ts);

But this change looks wrong to me. Have you noticed that
pthread_condattr_setclock(&attr, CLOCK_MONOTONIC) is used to make
config_cond use the monotonic clock? See also libmultipath/time-util.c.

Bart.

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel



[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux