debugging for sam, and an old fix forgotten

This commit is contained in:
rsc 2005-01-07 18:03:36 +00:00
parent b80755cf2d
commit a19ff5b204
11 changed files with 28 additions and 7 deletions

2
bin/g
View file

@ -1,4 +1,4 @@
#!/usr/local/plan9/bin/rc
#!/mit/rsc/plan9/bin/rc
flags=()
while(! ~ $#* 1 && ~ $1 -*){

View file

@ -1,3 +1,3 @@
#!/bin/sh
exec /usr/local/plan9/bin/kill -9 "$@"
exec $PLAN9/bin/kill -9 "$@"

View file

@ -590,6 +590,7 @@ extern void freenetconninfo(NetConnInfo*);
#define OCEXEC 32 /* or'ed in, close on exec */
#define ORCLOSE 64 /* or'ed in, remove on close */
#define ODIRECT 128 /* or'ed in, direct access */
#define ONONBLOCK 256 /* or'ed in, non-blocking call */
#define OEXCL 0x1000 /* or'ed in, exclusive use (create only) */
#define OLOCK 0x2000 /* or'ed in, lock after opening */

View file

@ -24,6 +24,7 @@ sys(char *buf, int devnull)
_exit(2);
default:
waitpid();
fprint(2, "done waiting\n");
}
}

View file

@ -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

View file

@ -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

View file

@ -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();

View file

@ -158,7 +158,7 @@ extstart(void)
}
}
fd = open(exname, OREAD|O_NONBLOCK);
fd = open(exname, OREAD|ONONBLOCK);
if(fd == -1){
removeextern();
return;

View file

@ -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;

0
src/libmach/SunOS.c Normal file
View file

View file

@ -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