lib9p reqqueue: remove setjmp shit
This commit is contained in:
parent
f031d82662
commit
9574793fc7
2 changed files with 2 additions and 29 deletions
|
@ -46,7 +46,6 @@ struct Reqqueue
|
||||||
Queueelem;
|
Queueelem;
|
||||||
int pid;
|
int pid;
|
||||||
Req *cur;
|
Req *cur;
|
||||||
jmp_buf flush;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Fid
|
struct Fid
|
||||||
|
|
|
@ -5,18 +5,9 @@
|
||||||
#include <9p.h>
|
#include <9p.h>
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_reqqueuenote(void *uregs, char *note)
|
_reqqueuenote(void *, char *note)
|
||||||
{
|
{
|
||||||
Reqqueue *q;
|
return strcmp(note, "flush") == 0;
|
||||||
|
|
||||||
if(strcmp(note, "flush") != 0)
|
|
||||||
return 0;
|
|
||||||
q = *threaddata();
|
|
||||||
if(q != nil){
|
|
||||||
q->cur = nil;
|
|
||||||
notejmp(uregs, q->flush, 1);
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -43,10 +34,6 @@ _reqqueueproc(void *v)
|
||||||
memset(&r->qu, 0, sizeof(r->qu));
|
memset(&r->qu, 0, sizeof(r->qu));
|
||||||
qunlock(&r->lk);
|
qunlock(&r->lk);
|
||||||
q->cur = r;
|
q->cur = r;
|
||||||
if(setjmp(q->flush)){
|
|
||||||
respond(r, "interrupted");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
qunlock(q);
|
qunlock(q);
|
||||||
f(r);
|
f(r);
|
||||||
}
|
}
|
||||||
|
@ -98,16 +85,3 @@ reqqueueflush(Reqqueue *q, Req *r)
|
||||||
respond(r, "interrupted");
|
respond(r, "interrupted");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
reqqueueflushed(void)
|
|
||||||
{
|
|
||||||
Reqqueue *q;
|
|
||||||
|
|
||||||
q = *threaddata();
|
|
||||||
qlock(q);
|
|
||||||
if(setjmp(q->flush))
|
|
||||||
return 1;
|
|
||||||
qunlock(q);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue