diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-01-03 02:16:18 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-01-03 02:16:18 +0100 |
commit | 6929f0a986a919aa1280ae8e79745d475f5b770c (patch) | |
tree | 36c0d90f68d5370fc978b5275e7772a55bbe4c4f | |
parent | 8ebe3f680e9f343a13bfcaaa2e17745b701ec0c8 (diff) | |
download | plan9front-6929f0a986a919aa1280ae8e79745d475f5b770c.tar.xz |
kernel: simplify procalarm()
-rw-r--r-- | sys/src/9/port/alarm.c | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/sys/src/9/port/alarm.c b/sys/src/9/port/alarm.c index 320b66e60..bd834cecc 100644 --- a/sys/src/9/port/alarm.c +++ b/sys/src/9/port/alarm.c @@ -83,24 +83,15 @@ procalarm(ulong time) } l = &f->palarm; } - - up->palarm = 0; - if(alarms.head) { - l = &alarms.head; - for(f = *l; f; f = f->palarm) { - time = f->alarm; - if(time != 0 && (long)(time - when) >= 0) { - up->palarm = f; - *l = up; - goto done; - } - l = &f->palarm; - } - *l = up; + l = &alarms.head; + for(f = *l; f; f = f->palarm) { + time = f->alarm; + if(time != 0 && (long)(time - when) >= 0) + break; + l = &f->palarm; } - else - alarms.head = up; -done: + up->palarm = f; + *l = up; up->alarm = when; qunlock(&alarms); |