[ofa-general] Re: [PATCH] opensm/complib: account for nsec overflow in timeout values

Sasha Khapyorsky sashak at voltaire.com
Thu Aug 13 04:36:20 PDT 2009


Hi Ira,

On 18:37 Thu 06 Aug     , Ira Weiny wrote:
> 
> From: Ira Weiny <weiny2 at llnl.gov>
> Date: Thu, 6 Aug 2009 18:31:46 -0700
> Subject: [PATCH] opensm/complib: account for nsec overflow in timeout values
> 
> 
> Signed-off-by: Ira Weiny <weiny2 at llnl.gov>
> ---
>  opensm/complib/cl_event.c |    8 +++++---
>  1 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/opensm/complib/cl_event.c b/opensm/complib/cl_event.c
> index d14b2f4..4bc8d37 100644
> --- a/opensm/complib/cl_event.c
> +++ b/opensm/complib/cl_event.c
> @@ -148,9 +148,11 @@ cl_event_wait_on(IN cl_event_t * const p_event,
>  	} else {
>  		/* Get the current time */
>  		if (gettimeofday(&curtime, NULL) == 0) {
> -			timeout.tv_sec = curtime.tv_sec + (wait_us / 1000000);
> -			timeout.tv_nsec =
> -			    (curtime.tv_usec + (wait_us % 1000000)) * 1000;
> +			uint32_t n_sec = (curtime.tv_usec + (wait_us % 1000000))

Do you really need fixed size (uint32_t) variable here?

> +						* 1000;
> +			timeout.tv_sec = curtime.tv_sec + (wait_us / 1000000)
> +						+ (n_sec % 1000000000);

Did you mean (n_sec / 1000000000)?

Sasha

> +			timeout.tv_nsec = n_sec % 1000000000;
>  
>  			wait_ret = pthread_cond_timedwait(&p_event->condvar,
>  							  &p_event->mutex,
> -- 
> 1.5.4.5
> 



More information about the general mailing list