More little bug fixes
This commit is contained in:
parent
1a8f27c350
commit
f1bfc54e12
9 changed files with 31 additions and 7 deletions
|
|
@ -18,3 +18,5 @@ struct Uproc
|
|||
|
||||
extern Uproc *_p9uproc(int);
|
||||
extern void _p9uprocdie(void);
|
||||
extern void _clearuproc(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,19 @@ static Uproc *alluproc[PIDHASH];
|
|||
static int allupid[PIDHASH];
|
||||
static Lock uproclock;
|
||||
|
||||
void
|
||||
_clearuproc(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* called right after fork - no locking needed */
|
||||
for(i=0; i<PIDHASH; i++)
|
||||
if(alluproc[i] != T && alluproc[i] != 0)
|
||||
free(alluproc[i]);
|
||||
memset(alluproc, 0, sizeof alluproc);
|
||||
memset(allupid, 0, sizeof allupid);
|
||||
}
|
||||
|
||||
Uproc*
|
||||
_p9uproc(int inhandler)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ p9fork(void)
|
|||
int pid;
|
||||
|
||||
pid = fork();
|
||||
_clearuproc();
|
||||
_p9uproc(0);
|
||||
return pid;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue