Blame


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>
6 2277c5d7 2004-03-21 devnull
7 2aa7d303 2005-02-11 devnull static void
8 2aa7d303 2005-02-11 devnull launchsrv(void *v)
9 2aa7d303 2005-02-11 devnull {
10 2aa7d303 2005-02-11 devnull srv(v);
11 2aa7d303 2005-02-11 devnull }
12 2aa7d303 2005-02-11 devnull
13 2277c5d7 2004-03-21 devnull void
14 2277c5d7 2004-03-21 devnull threadpostmountsrv(Srv *s, char *name, char *mtpt, int flag)
15 2277c5d7 2004-03-21 devnull {
16 2aa7d303 2005-02-11 devnull int fd[2];
17 2277c5d7 2004-03-21 devnull
18 2aa7d303 2005-02-11 devnull if(mtpt)
19 2aa7d303 2005-02-11 devnull sysfatal("mount not supported");
20 2277c5d7 2004-03-21 devnull
21 2aa7d303 2005-02-11 devnull if(!s->nopipe){
22 2aa7d303 2005-02-11 devnull if(pipe(fd) < 0)
23 2aa7d303 2005-02-11 devnull sysfatal("pipe: %r");
24 2aa7d303 2005-02-11 devnull s->infd = s->outfd = fd[1];
25 2aa7d303 2005-02-11 devnull s->srvfd = fd[0];
26 2aa7d303 2005-02-11 devnull }
27 2aa7d303 2005-02-11 devnull if(name && post9pservice(s->srvfd, name) < 0)
28 2aa7d303 2005-02-11 devnull sysfatal("post9pservice %s: %r", name);
29 2aa7d303 2005-02-11 devnull proccreate(launchsrv, s, 32*1024);
30 2aa7d303 2005-02-11 devnull }