diff options
author | rsc <devnull@localhost> | 2004-03-02 23:11:58 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2004-03-02 23:11:58 +0000 |
commit | af78a4cd2b73800af86db8d999d80b1ef0e9bd75 (patch) | |
tree | 9b74749fd4bcea9c56914e916a0717235a1aa62d /src/cmd/samterm | |
parent | efc2b0c99e1a4f9d2be9e72785d566df903c66fb (diff) | |
download | plan9port-af78a4cd2b73800af86db8d999d80b1ef0e9bd75.tar.gz plan9port-af78a4cd2b73800af86db8d999d80b1ef0e9bd75.tar.bz2 plan9port-af78a4cd2b73800af86db8d999d80b1ef0e9bd75.zip |
Little tweaks and documentation.
Diffstat (limited to 'src/cmd/samterm')
-rw-r--r-- | src/cmd/samterm/mesg.c | 6 | ||||
-rw-r--r-- | src/cmd/samterm/mkfile | 2 | ||||
-rw-r--r-- | src/cmd/samterm/plan9.c | 34 |
3 files changed, 13 insertions, 29 deletions
diff --git a/src/cmd/samterm/mesg.c b/src/cmd/samterm/mesg.c index 0bffad3d..20528431 100644 --- a/src/cmd/samterm/mesg.c +++ b/src/cmd/samterm/mesg.c @@ -25,7 +25,7 @@ long invlong(int); void hsetdot(int, long, long); void hmoveto(int, long); void hsetsnarf(int); -/* void hplumb(int); */ +void hplumb(int); void clrlock(void); int snarfswap(char*, int, char**); @@ -296,11 +296,9 @@ inmesg(Hmesg type, int count) threadexitsall(nil); break; -/* case Hplumb: hplumb(m); break; -*/ } } @@ -668,7 +666,6 @@ hsetsnarf(int nc) setcursor(mousectl, cursor); } -/* void hplumb(int nc) { @@ -687,7 +684,6 @@ hplumb(int nc) } free(s); } -*/ void hgrow(int m, long a, long new, int req) diff --git a/src/cmd/samterm/mkfile b/src/cmd/samterm/mkfile index 67997f39..facc78d2 100644 --- a/src/cmd/samterm/mkfile +++ b/src/cmd/samterm/mkfile @@ -23,6 +23,6 @@ HFILES=\ CFLAGS=$CFLAGS -I../sam LDFLAGS=$LDFLAGS -L$X11/lib -lX11 -lm -SHORTLIB=frame draw thread regexp9 bio 9 +SHORTLIB=frame draw plumb fs mux thread regexp9 bio 9 <$PLAN9/src/mkone diff --git a/src/cmd/samterm/plan9.c b/src/cmd/samterm/plan9.c index 60ef5c0e..7c4ed39b 100644 --- a/src/cmd/samterm/plan9.c +++ b/src/cmd/samterm/plan9.c @@ -10,6 +10,7 @@ #include <cursor.h> #include <keyboard.h> #include <frame.h> +#include <plumb.h> #include "flayer.h" #include "samterm.h" @@ -170,20 +171,15 @@ extstart(void) atexit(removeextern); } -#if 0 int -plumbformat(int i) +plumbformat(Plumbmsg *m, int i) { - Plumbmsg *m; char *addr, *data, *act; int n; data = (char*)plumbbuf[i].data; - m = plumbunpack(data, plumbbuf[i].n); - if(m == nil) - return 0; n = m->ndata; - if(n == 0){ + if(n == 0 || 2+n+2 >= READBUFSIZE){ plumbfree(m); return 0; } @@ -219,8 +215,9 @@ void plumbproc(void *argv) { Channel *c; - int i, n, which, *fdp; + int i, *fdp; void **arg; + Plumbmsg *m; arg = argv; c = arg[0]; @@ -229,16 +226,14 @@ plumbproc(void *argv) i = 0; threadfdnoblock(*fdp); for(;;){ - i = 1-i; /* toggle */ - n = threadread(*fdp, plumbbuf[i].data, READBUFSIZE); - if(n <= 0){ + m = threadplumbrecv(*fdp); + if(m == nil){ fprint(2, "samterm: plumb read error: %r\n"); threadexits("plumb"); /* not a fatal error */ } - plumbbuf[i].n = n; - if(plumbformat(i)){ - which = i; - send(c, &which); + if(plumbformat(m, i)){ + send(c, &i); + i = 1-i; /* toggle */ } } } @@ -258,18 +253,11 @@ plumbstart(void) close(fd); return -1; } - arg[0] =plumbc; + arg[0] = plumbc; arg[1] = &fd; threadcreate(plumbproc, arg, STACK); return 1; } -#endif - -int -plumbstart(void) -{ - return -1; -} void hostproc(void *arg) |