From 58dc03cec0df3cf569f73ea90d71f17e6a3dc84d Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Thu, 18 Jun 2015 03:13:50 +0200 Subject: kernel: do not inherit Proc.dot (current working directory) in kproc() making sure to close the dot in every kproc appears repetitive, so instead stop inheriting the dot in kproc() as this is usually never what you wanted in the first place. --- sys/src/9/port/proc.c | 2 +- sys/src/9/port/segment.c | 4 ---- sys/src/9/port/swap.c | 4 ---- sys/src/9/zynq/screen.c | 8 -------- 4 files changed, 1 insertion(+), 17 deletions(-) (limited to 'sys/src') diff --git a/sys/src/9/port/proc.c b/sys/src/9/port/proc.c index 766ab52b9..eadca93ec 100644 --- a/sys/src/9/port/proc.c +++ b/sys/src/9/port/proc.c @@ -1387,7 +1387,7 @@ kproc(char *name, void (*func)(void *), void *arg) p->s = up->s; p->nerrlab = 0; p->slash = up->slash; - p->dot = up->dot; + p->dot = up->slash; /* unlike fork, do not inherit the dot for kprocs */ if(p->dot != nil) incref(p->dot); diff --git a/sys/src/9/port/segment.c b/sys/src/9/port/segment.c index c2ad137f1..a15f928cc 100644 --- a/sys/src/9/port/segment.c +++ b/sys/src/9/port/segment.c @@ -837,10 +837,6 @@ segmentioproc(void *arg) incref(sio->s); up->seg[sno] = sio->s; - cclose(up->dot); - up->dot = up->slash; - incref(up->dot); - while(waserror()) ; for(done = 0; !done;){ diff --git a/sys/src/9/port/swap.c b/sys/src/9/port/swap.c index efbf3cbb4..73d12345a 100644 --- a/sys/src/9/port/swap.c +++ b/sys/src/9/port/swap.c @@ -149,10 +149,6 @@ pager(void*) Segment *s; Proc *p, *ep; - cclose(up->dot); - up->dot = up->slash; - incref(up->dot); - p = proctab(0); ep = &p[conf.nproc]; diff --git a/sys/src/9/zynq/screen.c b/sys/src/9/zynq/screen.c index dbed776c9..fcf3a365c 100644 --- a/sys/src/9/zynq/screen.c +++ b/sys/src/9/zynq/screen.c @@ -116,10 +116,6 @@ cursorproc(void *arg) up->seg[i] = arg; - cclose(up->dot); - up->dot = up->slash; - incref(up->dot); - hwcursor.proc = up; if(waserror()){ hwcursor.addr = 0; @@ -204,10 +200,6 @@ screenproc(void *arg) up->seg[sno] = arg; - cclose(up->dot); - up->dot = up->slash; - incref(up->dot); - fbscreen.proc = up; if(waserror()){ fbscreen.addr = 0; -- cgit v1.2.3