[openib-general] Re: [PATCH] uDAPL dapl_os_wait_object_wait()

Arlin Davis ardavis at ichips.intel.com
Tue Aug 2 18:27:02 PDT 2005


James Lentini wrote:

>
>
> On Mon, 25 Jul 2005, Arlin Davis wrote:
>
>> James,
>>
>> Here is a patch to fix dapl_os_wait_object_wait() returning
>> EINVAL when passing nsec == 1000000000 to pthread_cond_timedwait().
>> Hit a rare case where _microsecs was exactly 1000000.
>
>
> What was the timeout_val being passed to dapl_os_wait_object_wait()? 
> Was it 1000000000 or 1000000?

It was the calculated time of microsecs that resulted in exactly 1000000 
(1 sec) not timeout_val..

>
>>
>> Thanks,
>>
>> -arlin
>>
>> Signed-off by: Arlin Davis <ardavis at ichips.intel.com>
>>
>> Index: dapl/udapl/linux/dapl_osd.c
>> ===================================================================
>> --- dapl/udapl/linux/dapl_osd.c (revision 2899)
>> +++ dapl/udapl/linux/dapl_osd.c (working copy)
>> @@ -242,16 +242,9 @@
>>
>>        gettimeofday (&now, &tz);
>>        microsecs = now.tv_usec + (timeout_val % 1000000);
>> -       if (microsecs > 1000000)
>> -       {
>> -           now.tv_sec = now.tv_sec + timeout_val / 1000000 + 1;
>> -           now.tv_usec = microsecs - 1000000;
>> -       }
>> -       else
>> -       {
>> -           now.tv_sec = now.tv_sec + timeout_val / 1000000;
>> -           now.tv_usec = microsecs;
>> -       }
>> +
>> +       now.tv_sec = now.tv_sec + timeout_val/1000000 + 
>> (microsecs/1000000);
>> +       now.tv_usec = microsecs % 1000000;
>>
>>        /* Convert timeval to timespec */
>>        future.tv_sec = now.tv_sec;
>
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
>
> To unsubscribe, please visit 
> http://openib.org/mailman/listinfo/openib-general
>




More information about the general mailing list