kernel: remove implicit Proc* argument from procctl()

procctl() is always called with up and it would not
work correctly if passed a different process, so
remove the Proc* argument and use up directly.
This commit is contained in:
cinap_lenrek 2014-11-09 08:19:28 +01:00
parent 1ffcdbab88
commit b18a641397
14 changed files with 43 additions and 43 deletions

View file

@ -519,7 +519,7 @@ notify(Ureg *ur)
Note *n;
if(up->procctl)
procctl(up);
procctl();
if(up->nnote == 0)
return 0;

View file

@ -679,7 +679,7 @@ notify(Ureg* ureg)
Note *n;
if(up->procctl)
procctl(up);
procctl();
if(up->nnote == 0)
return 0;

View file

@ -104,7 +104,7 @@ notify(Ureg* ureg)
NFrame *nf;
if(up->procctl)
procctl(up);
procctl();
if(up->nnote == 0)
return 0;
@ -210,7 +210,7 @@ syscall(Ureg* ureg)
syscallfmt(scallnr, ureg->pc, (va_list)up->s.args);
s = splhi();
up->procctl = Proc_stopme;
procctl(up);
procctl();
splx(s);
startns = todget(nil);
}
@ -253,7 +253,7 @@ syscall(Ureg* ureg)
sysretfmt(scallnr, (va_list)up->s.args, ret, startns, stopns);
s = splhi();
up->procctl = Proc_stopme;
procctl(up);
procctl();
splx(s);
}

View file

@ -701,7 +701,7 @@ notify(Ureg* ur)
Note *n;
if(up->procctl)
procctl(up);
procctl();
if(up->nnote == 0)
return 0;

View file

@ -104,7 +104,7 @@ notify(Ureg* ureg)
NFrame *nf;
if(up->procctl)
procctl(up);
procctl();
if(up->nnote == 0)
return 0;
@ -196,7 +196,7 @@ syscall(Ureg* ureg)
if(up->procctl == Proc_tracesyscall){
up->procctl = Proc_stopme;
procctl(up);
procctl();
}
scallnr = ureg->r0;
@ -247,9 +247,9 @@ syscall(Ureg* ureg)
ureg->r0 = ret;
if(up->procctl == Proc_tracesyscall){
up->procctl = Proc_stopme;
s = splhi();
procctl(up);
up->procctl = Proc_stopme;
procctl();
splx(s);
}

View file

@ -140,7 +140,7 @@ notify(Ureg *ureg)
Note *n;
if(up->procctl)
procctl(up);
procctl();
if(up->nnote == 0)
return 0;
s = spllo();
@ -337,7 +337,7 @@ syscall(Ureg *ureg)
syscallfmt(scall, ureg->pc, (va_list)up->s.args);
s = splhi();
up->procctl = Proc_stopme;
procctl(up);
procctl();
splx(s);
startns = todget(nil);
}
@ -362,7 +362,7 @@ syscall(Ureg *ureg)
sysretfmt(scall, (va_list)up->s.args, ret, startns, stopns);
s = splhi();
up->procctl = Proc_stopme;
procctl(up);
procctl();
splx(s);
}

View file

@ -743,7 +743,7 @@ syscall(Ureg* ureg)
syscallfmt(scallnr, ureg->pc, (va_list)up->s.args);
s = splhi();
up->procctl = Proc_stopme;
procctl(up);
procctl();
splx(s);
startns = todget(nil);
}
@ -786,7 +786,7 @@ syscall(Ureg* ureg)
sysretfmt(scallnr, (va_list)up->s.args, ret, startns, stopns);
s = splhi();
up->procctl = Proc_stopme;
procctl(up);
procctl();
splx(s);
}
@ -818,7 +818,7 @@ notify(Ureg* ureg)
Note *n;
if(up->procctl)
procctl(up);
procctl();
if(up->nnote == 0)
return 0;

View file

@ -705,7 +705,7 @@ syscall(Ureg* ureg)
syscallfmt(scallnr, ureg->pc, (va_list)up->s.args);
s = splhi();
up->procctl = Proc_stopme;
procctl(up);
procctl();
splx(s);
startns = todget(nil);
}
@ -745,7 +745,7 @@ syscall(Ureg* ureg)
sysretfmt(scallnr, (va_list)up->s.args, ret, startns, stopns);
s = splhi();
up->procctl = Proc_stopme;
procctl(up);
procctl();
splx(s);
}
@ -789,7 +789,7 @@ notify(Ureg* ureg)
Note *n;
if(up->procctl)
procctl(up);
procctl();
if(up->nnote == 0)
return 0;

View file

@ -47,7 +47,7 @@ fault(uintptr addr, int read)
switch(up->procctl){
case Proc_exitme:
case Proc_exitbig:
procctl(up);
procctl();
}
}

View file

@ -222,7 +222,7 @@ int preempted(void);
void prflush(void);
void printinit(void);
ulong procalarm(ulong);
void procctl(Proc*);
void procctl(void);
void procdump(void);
int procfdprint(Chan*, int, int, char*, int);
void procflushseg(Segment*);

View file

@ -1420,12 +1420,12 @@ kproc(char *name, void (*func)(void *), void *arg)
* reasoning.
*/
void
procctl(Proc *p)
procctl(void)
{
char *state;
ulong s;
switch(p->procctl) {
switch(up->procctl) {
case Proc_exitbig:
spllo();
pprint("Killed: Insufficient physical memory\n");
@ -1436,26 +1436,26 @@ procctl(Proc *p)
pexit("Killed", 1);
case Proc_traceme:
if(p->nnote == 0)
if(up->nnote == 0)
return;
/* No break */
case Proc_stopme:
p->procctl = 0;
state = p->psstate;
p->psstate = "Stopped";
up->procctl = 0;
state = up->psstate;
up->psstate = "Stopped";
/* free a waiting debugger */
s = spllo();
qlock(&p->debug);
if(p->pdbg != nil) {
wakeup(&p->pdbg->sleep);
p->pdbg = nil;
qlock(&up->debug);
if(up->pdbg != nil) {
wakeup(&up->pdbg->sleep);
up->pdbg = nil;
}
qunlock(&p->debug);
qunlock(&up->debug);
splhi();
p->state = Stopped;
up->state = Stopped;
sched();
p->psstate = state;
up->psstate = state;
splx(s);
return;
}

View file

@ -706,7 +706,7 @@ notify(Ureg* ur)
Note *n;
if(up->procctl)
procctl(up);
procctl();
if(up->nnote == 0)
return 0;

View file

@ -110,7 +110,7 @@ notify(Ureg* ureg)
NFrame *nf;
if(up->procctl)
procctl(up);
procctl();
if(up->nnote == 0)
return 0;
@ -221,7 +221,7 @@ syscall(Ureg* ureg)
syscallfmt(scallnr, ureg->pc, (va_list)(sp+BY2WD));
up->procctl = Proc_stopme;
procctl(up);
procctl();
if (up->syscalltrace)
free(up->syscalltrace);
up->syscalltrace = nil;
@ -274,10 +274,10 @@ syscall(Ureg* ureg)
if(up->procctl == Proc_tracesyscall){
stopns = todget(nil);
up->procctl = Proc_stopme;
sysretfmt(scallnr, (va_list)(sp+BY2WD), ret, startns, stopns);
s = splhi();
procctl(up);
up->procctl = Proc_stopme;
procctl();
splx(s);
if(up->syscalltrace)
free(up->syscalltrace);

View file

@ -690,7 +690,7 @@ syscall(Ureg* ureg)
if(up->procctl == Proc_tracesyscall){
up->procctl = Proc_stopme;
procctl(up);
procctl();
}
scallnr = ureg->ax;
@ -746,9 +746,9 @@ syscall(Ureg* ureg)
ureg->ax = ret;
if(up->procctl == Proc_tracesyscall){
up->procctl = Proc_stopme;
s = splhi();
procctl(up);
up->procctl = Proc_stopme;
procctl();
splx(s);
}
@ -781,7 +781,7 @@ notify(Ureg* ureg)
Note *n;
if(up->procctl)
procctl(up);
procctl();
if(up->nnote == 0)
return 0;