On Apr 9, 2011, at 3:33 PM, Fish (David B. Trout) wrote:

> Just change the millisecond Sleep()'s to function calls that delay for a
> specified number of microseconds instead:

        ...

>  // SetWaitableTimer argument is #of 100-nanosecond intervals.
>  // Positive values indicate absolute UTC time. Negative values
>  // indicate relative time. The actual timer accuracy depends
>  // on the capability of your hardware.

As per what Gianluca said, note the last sentence of the comment in question 
(which comes from the MSDN documentation for SetWaitableTimer()).  If Windows 
implements waitable timers from a system "lightning bolt" timer (i.e., from 
periodic interrupts), the timer accuracy could be even lower than the precision 
of any interrupting timer hardware on your machine.

Note also that an indeterminate amount of time could take place between the 
point at which the timer delivers the wakeup and the userland code right after 
the WaitForSingleObject() call executes (or between the SetWaitableTimer() and 
the WaitForSingleObject() call, or between the code right after the 
WaitForSingleObject() call and the code that sends the packet).

And, yes, the same caveats apply to UN*X and to UN*X APIs such as 
select()/poll()/kevent()/setitimer()-and-pause()/etc..
_______________________________________________
Winpcap-users mailing list
[email protected]
https://www.winpcap.org/mailman/listinfo/winpcap-users

Reply via email to