commit 9a4289cfdc3a296fddf27592d83523d270018849
parent 8baa0cbdff53a5a98f27565c9334ea56ee4a4b76
Author: rsc <devnull@localhost>
Date: Wed, 9 Jun 2004 14:11:28 +0000
add network dialing
Diffstat:
1 file changed, 29 insertions(+), 0 deletions(-)
diff --git a/src/libthread/fdwait.c b/src/libthread/fdwait.c
@@ -343,3 +343,32 @@ threadwrite(int fd, const void *a, long n)
return tot;
}
+int
+threadannounce(char *addr, char *dir)
+{
+ return p9announce(addr, dir);
+}
+
+int
+threadlisten(char *dir, char *newdir)
+{
+ int fd, ret;
+ extern int _p9netfd(char*);
+
+ fd = _p9netfd(dir);
+ if(fd < 0){
+ werrstr("bad 'directory' in listen: %s", dir);
+ return -1;
+ }
+ threadfdnoblock(fd);
+ while((ret = p9listen(dir, newdir)) < 0 && errno==EAGAIN)
+ _threadfdwait(fd, 'r', getcallerpc(&dir));
+ return ret;
+}
+
+int
+threadaccept(int cfd, char *dir)
+{
+ return p9accept(cfd, dir);
+}
+