ref: f801657f77f3923ec2388c25bdcb036c8019ba89
dir: /port/alarm.c/
#include <u.h> #include "include/ureg.h" #include "mem.h" #include "dat.h" #include "fns.h" #include "libkern/kern.h" #include "error.h" Talarm talarm; /* * called every clock tick */ void checkalarms(void) { Proc *p; ulong now; now = MACHP(0)->ticks; if(talarm.list == 0 || canlock(&talarm) == 0) return; for(;;) { p = talarm.list; if(p == 0) break; if(p->twhen == 0) { talarm.list = p->tlink; p->trend = 0; continue; } if(now < p->twhen) break; wakeup(p->trend); talarm.list = p->tlink; p->trend = 0; } unlock(&talarm); }