19 buf = smprint("/proc/%d/ctl", getpid());
20 fd = open(buf, OWRITE);
27 write(fd, "nointerrupt", 11);
31 r = (Req*)(((char*)q->next) - ((char*)&((Req*)0)->qu));
32 r->qu.next->prev = r->qu.prev;
33 r->qu.prev->next = r->qu.next;
35 memset(&r->qu, 0, sizeof(r->qu));
53 q = emalloc9p(sizeof(*q));
54 memset(q, 0, sizeof(*q));
56 q->next = q->prev = q;
57 q->pid = proccreate(_reqqueueproc, q, mainstacksize);
62 reqqueuepush(Reqqueue *q, Req *r, void (*f)(Req *))
68 q->prev->next = &r->qu;
75 reqqueueflush(Reqqueue *q, Req *r)
83 if(r->qu.next != nil){
84 r->qu.next->prev = r->qu.prev;
85 r->qu.prev->next = r->qu.next;
87 memset(&r->qu, 0, sizeof(r->qu));
89 respond(r, "interrupted");
94 reqqueuefree(Reqqueue *q)
100 r = emalloc9p(sizeof(Req));
101 reqqueuepush(q, r, nil);