On 12/10/15 16:25, Randall Stewart wrote:
For callout_stop/drain you get

-1 == Callout as already gone off or is not running (usually the latter) else 
the caller iks
           not using locking properly or did not lock and check the active() 
value (which would have returned not active so no stop
           would have been needed);
0 == we could not stop the callout, it was in process..
1 == it was stopped successfully

For callout_reset() you get

0 == it was started
1 == it was restarted.

There is no -1 since it is either started or restarted never left in a 
not-running state...


Correct, though if the return values would be the same, it might simplify the callout API and manual page a bit:

/* return values for all callout_xxx() functions */
#define CALLOUT_RET_DRAINING 0 /* callout cannot be stopped, need drain */
#define CALLOUT_RET_CANCELLED   1 /* callout was successfully stopped */
#define CALLOUT_RET_STOPPED     -1 /* callout was already stopped */

Then callout_reset() would return -1, if it was started from the stopped state.


freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to