summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/9/port/devproc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/src/9/port/devproc.c b/sys/src/9/port/devproc.c
index bb6d3d970..29b8031c1 100644
--- a/sys/src/9/port/devproc.c
+++ b/sys/src/9/port/devproc.c
@@ -1339,6 +1339,7 @@ proctext(Chan *c, Proc *p)
void
procstopwait(Proc *p, int ctl)
{
+ char *state;
int pid;
if(p->pdbg != nil)
@@ -1354,14 +1355,17 @@ procstopwait(Proc *p, int ctl)
return;
p->pdbg = up;
qunlock(&p->debug);
+ state = up->psstate;
up->psstate = "Stopwait";
if(waserror()) {
+ up->psstate = state;
qlock(&p->debug);
p->pdbg = nil;
nexterror();
}
sleep(&up->sleep, procstopped, p);
poperror();
+ up->psstate = state;
qlock(&p->debug);
if(p->pid != pid)
error(Eprocdied);