From 2277c5d7bbe1f9595fad512d8f790708473a9bf1 Mon Sep 17 00:00:00 2001 From: rsc Date: Sun, 21 Mar 2004 04:33:13 +0000 Subject: Small tweaks Lots of new code imported. --- src/cmd/samterm/plan9.c | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) (limited to 'src/cmd/samterm') diff --git a/src/cmd/samterm/plan9.c b/src/cmd/samterm/plan9.c index 7c4ed39b..f8614d3f 100644 --- a/src/cmd/samterm/plan9.c +++ b/src/cmd/samterm/plan9.c @@ -10,6 +10,12 @@ #include #include #include +#define Tversion Tversion9p +#define Twrite Twrite9p +#include +#undef Tversion +#undef Twrite +#include #include #include "flayer.h" #include "samterm.h" @@ -212,27 +218,22 @@ plumbformat(Plumbmsg *m, int i) } void -plumbproc(void *argv) +plumbproc(void *arg) { - Channel *c; - int i, *fdp; - void **arg; + Fid *fid; + int i; Plumbmsg *m; - arg = argv; - c = arg[0]; - fdp = arg[1]; - + fid = arg; i = 0; - threadfdnoblock(*fdp); for(;;){ - m = threadplumbrecv(*fdp); + m = plumbrecvfid(fid); if(m == nil){ fprint(2, "samterm: plumb read error: %r\n"); threadexits("plumb"); /* not a fatal error */ } if(plumbformat(m, i)){ - send(c, &i); + send(plumbc, &i); i = 1-i; /* toggle */ } } @@ -241,21 +242,18 @@ plumbproc(void *argv) int plumbstart(void) { - static int fd; - static void *arg[2]; + Fid *fid; plumbfd = plumbopen("send", OWRITE|OCEXEC); /* not open is ok */ - fd = plumbopen("edit", OREAD|OCEXEC); - if(fd < 0) + fid = plumbopenfid("edit", OREAD|OCEXEC); + if(fid == nil) return -1; plumbc = chancreate(sizeof(int), 0); if(plumbc == nil){ - close(fd); + fsclose(fid); return -1; } - arg[0] = plumbc; - arg[1] = &fd; - threadcreate(plumbproc, arg, STACK); + threadcreate(plumbproc, fid, STACK); return 1; } -- cgit v1.2.3