Hello all,

I am using freebsd 4.3 stable and have a few questions.

First, from looking at the code I am guessing that the callout* functions
(callout_reset, callout_stop, etc) are generally preferable to the
timeout/untimeout calls.  It looks to me that the main difference is that
the new callout* functions allow the caller to allocate and maintain the
callout_handles themselves.  Is this true??

Second, I have a question about the exact meaning of the CALLOUT_PENDING and
CALLOUT_ACTIVE flags.

It looks to me like the CALLOUT_PENDING flag is cleared right before the
callout is made.  Then, there is an splx(s) immediately before the callout,
so I am guessing that this is reason why there are two flags???
CALLOUT_PENDING is used to mark that softclock has made the callout, but
then CALLOUT_ACTIVE is used by the handler to mark that the callout has been
processed???

If this is true (or actually, even if it is not), is there any documentation
(or recommendations) about the usage of these functions, including
callout_deactivate.  I tried looking through the kernel code that uses these
to get an idea, but it looks like different pieces of code use these
functions in different ways that aren't always obvious or consistent.

thanks,
matt

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to