1 2277c5d7 2004-03-21 devnull #include <u.h>
2 2277c5d7 2004-03-21 devnull #include <libc.h>
3 2277c5d7 2004-03-21 devnull #include <fcall.h>
4 2277c5d7 2004-03-21 devnull #include <thread.h>
5 2277c5d7 2004-03-21 devnull #include <9p.h>
7 2aa7d303 2005-02-11 devnull static void
8 2aa7d303 2005-02-11 devnull launchsrv(void *v)
14 2277c5d7 2004-03-21 devnull threadpostmountsrv(Srv *s, char *name, char *mtpt, int flag)
16 2aa7d303 2005-02-11 devnull int fd[2];
18 2aa7d303 2005-02-11 devnull if(!s->nopipe){
19 2aa7d303 2005-02-11 devnull if(pipe(fd) < 0)
20 2aa7d303 2005-02-11 devnull sysfatal("pipe: %r");
21 2aa7d303 2005-02-11 devnull s->infd = s->outfd = fd[1];
22 2aa7d303 2005-02-11 devnull s->srvfd = fd[0];
24 118dfa98 2008-05-06 rsc if(name || mtpt){
25 118dfa98 2008-05-06 rsc if(post9pservice(s->srvfd, name, mtpt) < 0)
26 118dfa98 2008-05-06 rsc sysfatal("post9pservice %s: %r", name);
27 118dfa98 2008-05-06 rsc }else if(!s->nopipe)
28 118dfa98 2008-05-06 rsc sysfatal("no one to serve");
29 56dc04c5 2008-07-04 rsc if(s->foreground)
32 56dc04c5 2008-07-04 rsc proccreate(launchsrv, s, 32*1024);