summaryrefslogtreecommitdiff
path: root/sys/src/ape/lib/bsd
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2013-05-11 18:34:40 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2013-05-11 18:34:40 +0200
commit389d6a1054cbf6734499a81c7de2dbc8251fa65c (patch)
tree62b4b68ecb8ba2916f65f7c477d9f300705b0812 /sys/src/ape/lib/bsd
parent9af0b2c68377c321475ec0c2e5a0af85b4965709 (diff)
ape: change types from unsigned long to void* for rendezvous() and segattach()/segbrk() (erik), use uniqueue rendezvous tags for _buf and listen
Diffstat (limited to 'sys/src/ape/lib/bsd')
-rw-r--r--sys/src/ape/lib/bsd/listen.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/sys/src/ape/lib/bsd/listen.c b/sys/src/ape/lib/bsd/listen.c
index b0408cd19..045ff3a91 100644
--- a/sys/src/ape/lib/bsd/listen.c
+++ b/sys/src/ape/lib/bsd/listen.c
@@ -31,14 +31,11 @@ extern void _killmuxsid(void);
static int
listenproc(Rock *r, int fd)
{
- Rock *nr;
- char *net;
- int cfd, nfd, dfd;
- int pfd[2];
+ char listen[Ctlsize], name[Ctlsize], *net, *p;
+ int cfd, nfd, dfd, pfd[2];
struct stat d;
- char *p;
- char listen[Ctlsize];
- char name[Ctlsize];
+ Rock *nr;
+ void *v;
switch(r->stype){
case SOCK_DGRAM:
@@ -81,11 +78,14 @@ listenproc(Rock *r, int fd)
_muxsid = getpgrp();
} else
setpgid(getpid(), _muxsid);
- _RENDEZVOUS(2, _muxsid);
+ while(_RENDEZVOUS(r, (void*)_muxsid) == (void*)~0)
+ ;
break;
default:
+ while((v = _RENDEZVOUS(r, 0)) == (void*)~0)
+ ;
+ _muxsid = (int)v;
atexit(_killmuxsid);
- _muxsid = _RENDEZVOUS(2, 0);
close(pfd[1]);
close(nfd);
return 0;