aboutsummaryrefslogtreecommitdiff
path: root/src/libmux/queue.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmux/queue.c')
-rw-r--r--src/libmux/queue.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libmux/queue.c b/src/libmux/queue.c
index 1cadbe6c..2151c252 100644
--- a/src/libmux/queue.c
+++ b/src/libmux/queue.c
@@ -81,8 +81,8 @@ _muxqrecv(Muxqueue *q)
return p;
}
-void*
-_muxnbqrecv(Muxqueue *q)
+int
+_muxnbqrecv(Muxqueue *q, void **vp)
{
void *p;
Qel *e;
@@ -90,14 +90,16 @@ _muxnbqrecv(Muxqueue *q)
qlock(&q->lk);
if(q->head == nil){
qunlock(&q->lk);
- return nil;
+ *vp = nil;
+ return q->hungup;
}
e = q->head;
q->head = e->next;
qunlock(&q->lk);
p = e->p;
free(e);
- return p;
+ *vp = p;
+ return 1;
}
void