diff options
author | rsc <devnull@localhost> | 2003-12-03 22:50:48 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2003-12-03 22:50:48 +0000 |
commit | 669250d159e93a6933afa4cd25f410af801515ec (patch) | |
tree | 1f053fd518cf1a172863e07050e6e3bf13762f7d /src/cmd/rc | |
parent | 5a82f26e50fbfbb3090b4cf839decf012637a00e (diff) | |
download | plan9port-669250d159e93a6933afa4cd25f410af801515ec.tar.gz plan9port-669250d159e93a6933afa4cd25f410af801515ec.tar.bz2 plan9port-669250d159e93a6933afa4cd25f410af801515ec.zip |
Various fixes.
B - fixed usage, DISPLAY :0 vs :0.0
9term - fixed various terminal things
rc - notice traps in Read
_p9dir - only run disk code for disks
dirread - getdirentries on FreeBSD and Linux
are different w.r.t. meaning of off.
notify - set up so signals interrupt system calls
bprint - use bfmt.
Diffstat (limited to 'src/cmd/rc')
-rw-r--r-- | src/cmd/rc/plan9ish.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/cmd/rc/plan9ish.c b/src/cmd/rc/plan9ish.c index 0c3076ec..1b250ba1 100644 --- a/src/cmd/rc/plan9ish.c +++ b/src/cmd/rc/plan9ish.c @@ -392,10 +392,12 @@ void notifyf(void *unused0, char *s) { int i; - for(i=0;syssigname[i];i++) if(strncmp(s, syssigname[i], strlen(syssigname[i]))==0){ - if(strncmp(s, "sys: ", 5)!=0) interrupted=1; - goto Out; - } + for(i=0;syssigname[i];i++) + if(strncmp(s, syssigname[i], strlen(syssigname[i]))==0){ + if(strncmp(s, "sys: ", 5)!=0) interrupted=1; + goto Out; + } + pfmt(err, "rc: note: %s\n", s); noted(NDFLT); return; @@ -423,7 +425,11 @@ long Write(int fd, char *buf, long cnt) } long Read(int fd, char *buf, long cnt) { - return read(fd, buf, cnt); + int i; + + i = read(fd, buf, cnt); + if(ntrap) dotrap(); + return i; } long Seek(int fd, long cnt, long whence) { |