>Bhanuprakash Bodireddy <[email protected]> writes:
>
>> This will be used by KA framework that needs millisecond granularity.
>>
>> Signed-off-by: Bhanuprakash Bodireddy
>> <[email protected]>
>> ---
>
>Without this patch, builds starting at 3/7 will fail. That's pretty bad.
>Please see
>my earlier comment about including helpers when they are used.
As mentioned earlier, it was my mistake and will fix this in v2.
>
>> lib/util.c | 12 ++++++++++++
>> lib/util.h | 1 +
>> 2 files changed, 13 insertions(+)
>>
>> diff --git a/lib/util.c b/lib/util.c
>> index 1c06ce0..889ebd8 100644
>> --- a/lib/util.c
>> +++ b/lib/util.c
>> @@ -2125,6 +2125,18 @@ xsleep(unsigned int seconds)
>> ovsrcu_quiesce_end();
>> }
>>
>> +void
>> +xusleep(unsigned int microseconds)
>> +{
>> + ovsrcu_quiesce_start();
>> +#ifdef _WIN32
>> + Sleep(microseconds/1000);
>> +#else
>> + usleep(microseconds);
>> +#endif
>> + ovsrcu_quiesce_end();
>> +}
>> +
>
>Wow! This is deceptive. If I call this with microseconds argument as, say,
>999
>there's a *strong* chance this will NOT sleep for at least that amount of time.
>This function needs a different implementation or just keep it non-windows.
This is indeed deceptive :).
I did spend some time to understand if there is an equivalent usleep()
implementation in Windows and came across Queryperformancecounter and usermode
scheduling in windows. I would better stick to non-windows implementation and
allow the WINDOWS experts add their equivalent implantation above.
- Bhanuprakash.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev