aboutsummaryrefslogtreecommitdiff
path: root/src/lib9/_p9proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib9/_p9proc.c')
-rw-r--r--src/lib9/_p9proc.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib9/_p9proc.c b/src/lib9/_p9proc.c
index c492ae15..9543bf24 100644
--- a/src/lib9/_p9proc.c
+++ b/src/lib9/_p9proc.c
@@ -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)
{