diff options
author | ian <ian> | 1999-09-19 19:09:43 +0000 |
---|---|---|
committer | ian <ian> | 1999-09-19 19:09:43 +0000 |
commit | 5f1c67ff94a72191a92c02205b91c321bc96695b (patch) | |
tree | 9e5327f064f62cb98a93f711c69ab928e4e73ddb /ipif/service.c | |
parent | 6d360a536b98cfa65d6ff447c666ecc66312d86e (diff) | |
download | userv-utils-5f1c67ff94a72191a92c02205b91c321bc96695b.tar.gz |
Now seems to work.
Diffstat (limited to 'ipif/service.c')
-rw-r--r-- | ipif/service.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/ipif/service.c b/ipif/service.c index b76c754..5ed6014 100644 --- a/ipif/service.c +++ b/ipif/service.c @@ -695,18 +695,6 @@ static void netconfigure(void) { sysfatal("cannot exec ifconfig"); } - if (task()) { - execlp("route","route", "add", "-host",localtxt, - "dev",ifname, (char*)0); - sysfatal("cannot exec route (for local)"); - } - - if (task()) { - execlp("route","route", "add", "-host",peertxt, - "dev",ifname, (char*)0); - sysfatal("cannot exec route (for peer)"); - } - for (i=0; i<nexroutes; i++) { if (task()) { execlp("route","route", "add", "-net",exroutes[i].prefixtxt, @@ -718,8 +706,14 @@ static void netconfigure(void) { } static void copydata(void) __attribute__((noreturn)); -static void copydata(void) { +static void copydata(void) { + int r; + pids.byname.cin= makesubproc(cin_entry); + for (;;) { + r= write(1, "\300", 1); if (r==1) break; + assert(r==-1); if (errno != EINTR) sysfatal("send initial delim to confirm"); + } pids.byname.cout= makesubproc(cout_entry); for (;;) sigsuspend(&emptyset); |