callout
if (cp->callout)
untimeout(cp->callout);
cp->callout = timeout(RETRY_INTERVAL, wakeup, mf);
int callout; /* Callout identifier */
if (cp->callout)
untimeout(cp->callout);
if (cp->callout) {
untimeout(cp->callout);
cp->callout = 0;
callout *cp, *cp2;
callout *cpnew = alloc_callout();
callout *cp, *cp2;
callout *cp;
callout *cp;
typedef struct callout callout;
callout *c_next; /* List of callouts */
static callout callouts; /* List of pending callouts */
static callout *free_callouts; /* Cache of free callouts */
static callout *
callout *cp = free_callouts;
return ALLOC(callout);
free_callout(callout *cp)
struct callout *c_next;
static struct callout *callout = NULL; /* Callout list */
struct callout *newp, *p, **pp;
if ((newp = (struct callout *) malloc(sizeof(struct callout))) == NULL) {
for (pp = &callout; (p = *pp); pp = &p->c_next)
struct callout **copp, *freep;
for (copp = &callout; (freep = *copp); copp = &freep->c_next)
struct callout *p;
while (callout != NULL) {
p = callout;
callout = p->c_next;
if (callout == NULL)
tvp->tv_sec = callout->c_time.tv_sec - timenow.tv_sec;
tvp->tv_usec = callout->c_time.tv_usec - timenow.tv_usec;