From a19ff5b204a5e36ae522feb4acc0f31542b95f38 Mon Sep 17 00:00:00 2001 From: rsc Date: Fri, 7 Jan 2005 18:03:36 +0000 Subject: debugging for sam, and an old fix forgotten --- src/cmd/9term/rcstart.c | 1 + src/cmd/mkfile | 2 +- src/cmd/samterm/io.c | 9 ++++++++- src/cmd/samterm/main.c | 10 +++++++++- src/cmd/samterm/plan9.c | 2 +- src/lib9/open.c | 4 ++++ src/libmach/SunOS.c | 0 src/libmach/mkfile | 2 +- 8 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 src/libmach/SunOS.c (limited to 'src') diff --git a/src/cmd/9term/rcstart.c b/src/cmd/9term/rcstart.c index 1aa46dce..edf161c2 100644 --- a/src/cmd/9term/rcstart.c +++ b/src/cmd/9term/rcstart.c @@ -24,6 +24,7 @@ sys(char *buf, int devnull) _exit(2); default: waitpid(); +fprint(2, "done waiting\n"); } } diff --git a/src/cmd/mkfile b/src/cmd/mkfile index 51e6ed6f..ea036ac9 100644 --- a/src/cmd/mkfile +++ b/src/cmd/mkfile @@ -4,7 +4,7 @@ TARG=`ls *.[cy] | grep -v "\.tab\.c$" | sed 's/\.[cy]//'` <$PLAN9/src/mkmany -BUGGERED='CVS|faces|factotum|mailfs|page|scat|upas|venti|vncv|postscript|mnihongo|mpm|index' +BUGGERED='CVS|acid|db|faces|factotum|mailfs|page|scat|upas|venti|vncv|postscript|mnihongo|mpm|index' DIRS=lex `ls -l |sed -n 's/^d.* //p' |egrep -v "^($BUGGERED)$"|egrep -v '^lex$'` <$PLAN9/src/mkdirs diff --git a/src/cmd/samterm/io.c b/src/cmd/samterm/io.c index 30a707a0..d9cf2e83 100644 --- a/src/cmd/samterm/io.c +++ b/src/cmd/samterm/io.c @@ -33,20 +33,27 @@ void initio(void) { threadsetname("main"); + if(protodebug) print("mouse\n"); mousectl = initmouse(nil, display->image); if(mousectl == nil){ fprint(2, "samterm: mouse init failed: %r\n"); threadexitsall("mouse"); } mousep = &mousectl->m; + if(protodebug) print("kbd\n"); keyboardctl = initkeyboard(nil); if(keyboardctl == nil){ fprint(2, "samterm: keyboard init failed: %r\n"); threadexitsall("kbd"); } + if(protodebug) print("hoststart\n"); hoststart(); - if(plumbstart() < 0) + if(protodebug) print("plumbstart\n"); + if(plumbstart() < 0){ + if(protodebug) print("extstart\n"); extstart(); + } + if(protodebug) print("initio done\n"); } void diff --git a/src/cmd/samterm/main.c b/src/cmd/samterm/main.c index 9a485b51..c56ea5f8 100644 --- a/src/cmd/samterm/main.c +++ b/src/cmd/samterm/main.c @@ -44,15 +44,22 @@ threadmain(int argc, char *argv[]) close(0); close(1); open("/dev/null", OREAD); - dup(2, 1); + if(open("/dev/tty", OWRITE) < 0) + open("/dev/null", OWRITE); +dup(2, 1); + if(protodebug) print("getscreen\n"); getscreen(argc, argv); + if(protodebug) print("iconinit\n"); iconinit(); + if(protodebug) print("initio\n"); initio(); + if(protodebug) print("scratch\n"); scratch = alloc(100*RUNESIZE); nscralloc = 100; r = screen->r; r.max.y = r.min.y+Dy(r)/5; + if(protodebug) print("flstart\n"); flstart(screen->clipr); rinit(&cmd.rasp); flnew(&cmd.l[0], gettext, 1, &cmd); @@ -64,6 +71,7 @@ threadmain(int argc, char *argv[]) startnewfile(Tstartcmdfile, &cmd); got = 0; + if(protodebug) print("loop\n"); for(;;got = waitforio()){ if(hasunlocked && RESIZED()) resize(); diff --git a/src/cmd/samterm/plan9.c b/src/cmd/samterm/plan9.c index e860ea58..5f5c33d0 100644 --- a/src/cmd/samterm/plan9.c +++ b/src/cmd/samterm/plan9.c @@ -158,7 +158,7 @@ extstart(void) } } - fd = open(exname, OREAD|O_NONBLOCK); + fd = open(exname, OREAD|ONONBLOCK); if(fd == -1){ removeextern(); return; diff --git a/src/lib9/open.c b/src/lib9/open.c index 896ca528..e76aabe3 100644 --- a/src/lib9/open.c +++ b/src/lib9/open.c @@ -28,6 +28,10 @@ p9open(char *name, int mode) umode |= O_DIRECT; mode ^= ODIRECT; } + if(mode&ONONBLOCK){ + umode |= O_NONBLOCK; + mode ^= ONONBLOCK; + } if(mode){ werrstr("mode 0x%x not supported", mode); return -1; diff --git a/src/libmach/SunOS.c b/src/libmach/SunOS.c new file mode 100644 index 00000000..e69de29b diff --git a/src/libmach/mkfile b/src/libmach/mkfile index 53d1af99..25a3a877 100644 --- a/src/libmach/mkfile +++ b/src/libmach/mkfile @@ -67,7 +67,7 @@ elfnm: elfnm.o $LIBDIR/$LIB $LD -o $target $prereq -l9 -SunOS.$O: nosys.c +#SunOS.$O: nosys.c Darwin.$O: nosys.c OpenBSD.$O: nosys.c NetBSD.$O: nosys.c -- cgit v1.2.3