New "timeout" api, to replace callout

Poul-Henning Kamp phk at phk.freebsd.dk
Wed Jan 2 16:09:52 PST 2008


In message <477C2739.5000902 at freebsd.org>, Andre Oppermann writes:
>Poul-Henning Kamp wrote:
>> In message <477C1CF3.6070301 at freebsd.org>, Andre Oppermann writes:
>> 
>>> I fear we have to go for the latter.  Getting a non-sleeping callout
>>> drain seems to be non-trivial.
>> 
>> There is a crucial difference between "non-sleeping" and "not sleeping
>> on my lock" that you should be very careful about in this context.
>> 
>> Which is your requirement ?
>
>Calling timeout_drain() must not sleep and not drop the lock in this
>context (while making any pending timeout go away forever).

Ok, so if the timeouts callback function is running you propose to
do what ?  spin until it returns ?

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-arch mailing list