diff options
author | aiju <aiju@phicode.de> | 2011-06-25 16:17:20 +0200 |
---|---|---|
committer | aiju <aiju@phicode.de> | 2011-06-25 16:17:20 +0200 |
commit | 0b22dfd1f69985aabc5af37dca8a217a1e6e54e9 (patch) | |
tree | 577216074a5edb2402525c2d219ad8a96af8f9d7 /sys/src/cmd/5e/5e.c | |
parent | b4ae96bcb95e76293a81241bf6edebf27cab7e35 (diff) |
5e: added note support
added wstat / fwstat / alarm
Diffstat (limited to 'sys/src/cmd/5e/5e.c')
-rw-r--r-- | sys/src/cmd/5e/5e.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sys/src/cmd/5e/5e.c b/sys/src/cmd/5e/5e.c index b2f23674c..fb589e54c 100644 --- a/sys/src/cmd/5e/5e.c +++ b/sys/src/cmd/5e/5e.c @@ -67,6 +67,19 @@ suicide(char *fmt, ...) abort(); } +int +notehandler(void *, char *note) +{ + if(strncmp(note, "sys:", 4) == 0) + return 0; + + if(strncmp(note, "emu:", 4) == 0) + exits(note); + + addnote(note); + return 1; +} + void main(int argc, char **argv) { @@ -90,9 +103,14 @@ main(int argc, char **argv) initproc(); if(loadtext(argv[0], argc, argv) < 0) sysfatal("%r"); + atnotify(notehandler, 1); for(;;) { if(ultraverbose) dump(); step(); + while((P->notein - P->noteout) % NNOTE) { + donote(P->notes[P->noteout % NNOTE], 0); + ainc(&P->noteout); + } } } |