Many small edits.

This commit is contained in:
rsc 2005-01-13 04:49:19 +00:00
parent 741f510ce7
commit c8b6342d3c
160 changed files with 2204 additions and 864 deletions

View file

@ -249,6 +249,7 @@ chanalt(Alt *a)
Channel *c;
_Thread *t;
needstack(512);
for(i=0; a[i].op != CHANEND && a[i].op != CHANNOBLK; i++)
;
n = i;

View file

@ -42,10 +42,12 @@ child(void)
fprint(2, "%s: wait pid %d stopped\n", argv0, pid);
return;
}
#ifdef WIFCONTINUED
if(WIFCONTINUED(status)){
fprint(2, "%s: wait pid %d continued\n", argv0, pid);
return;
}
#endif
fprint(2, "%s: wait pid %d status 0x%ux\n", argv0, pid, status);
_exit(99);
}
@ -84,8 +86,6 @@ _threadsetupdaemonize(void)
sigpid = 1;
threadlinklibrary();
if(pipe(p) < 0)
sysfatal("passer pipe: %r");

View file

@ -169,6 +169,7 @@ _threadswitch(void)
{
Proc *p;
needstack(0);
p = proc();
//print("threadswtch %p\n", p);
contextswitch(&p->thread->context, &p->schedcontext);
@ -324,6 +325,20 @@ threadsetstate(char *fmt, ...)
va_end(arg);
}
void
needstack(int n)
{
_Thread *t;
t = proc()->thread;
if((char*)&t <= (char*)t->stk
|| (char*)&t - (char*)t->stk < 256+n){
fprint(2, "thread stack overflow\n");
abort();
}
}
/*
* locking
*/
@ -499,11 +514,6 @@ threadmainstart(void *v)
threadmain(threadargc, threadargv);
}
void
threadlinklibrary(void)
{
}
int
main(int argc, char **argv)
{