summaryrefslogtreecommitdiff
path: root/emu/port/dis.c
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2008-11-06 11:19:52 +0000
committerCharles.Forsyth <devnull@localhost>2008-11-06 11:19:52 +0000
commitd3ba796f4932de1b69a999a9b9ed27368ae24d74 (patch)
tree5b9320dfc22e5c5b0f29024ee91282dc7989f743 /emu/port/dis.c
parent63ef3c301e48e84f6453afba8099e964bccf8c2b (diff)
20081106-1118
Diffstat (limited to 'emu/port/dis.c')
-rw-r--r--emu/port/dis.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/emu/port/dis.c b/emu/port/dis.c
index 72fd52ab..7f8db7b2 100644
--- a/emu/port/dis.c
+++ b/emu/port/dis.c
@@ -238,10 +238,8 @@ delprog(Prog *p, char *msg)
}
p->state = 0xdeadbeef;
free(o->user);
- if(p->killstr)
- free(p->killstr);
- if(p->exstr)
- free(p->exstr);
+ free(p->killstr);
+ free(p->exstr);
free(p);
}
@@ -558,8 +556,12 @@ killgrp(Prog *p, char *msg)
/* interpreter has been acquired */
g = p->group;
- if(g == nil || g->head == nil || g->flags & Pkilled)
+ if(g == nil || g->head == nil)
return 0;
+ while(g->flags & Pkilled){
+ release();
+ acquire();
+ }
npid = 0;
for(f = g->head; f != nil; f = f->grpnext)
if(f->group != g)