diff options
author | Peter Wemm <peter@FreeBSD.org> | 1999-06-30 15:33:41 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 1999-06-30 15:33:41 +0000 |
commit | df8abd0bb91dd5686111bc0d6ac9f65aa3e66af9 (patch) | |
tree | 7c1e229a108aab7fe47d2d054255fefea6d2bacf /sys/kern/kern_linker.c | |
parent | fbf8dd228ae7d65979bdd20a19d36d4b3c340c12 (diff) |
Notes
Diffstat (limited to 'sys/kern/kern_linker.c')
-rw-r--r-- | sys/kern/kern_linker.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index 61d7aeba4ed8..ce84271080d1 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kern_linker.c,v 1.31 1999/04/28 01:04:28 luoqi Exp $ + * $Id: kern_linker.c,v 1.32 1999/05/08 13:01:56 peter Exp $ */ #include "opt_ddb.h" @@ -96,6 +96,7 @@ linker_file_sysinit(linker_file_t lf) struct sysinit** sipp; struct sysinit** xipp; struct sysinit* save; + struct proc *p2; const moduledata_t *moddata; int error; @@ -156,18 +157,16 @@ linker_file_sysinit(linker_file_t lf) case SI_TYPE_KTHREAD: /* kernel thread*/ - if (fork1(&proc0, RFFDG|RFPROC|RFMEM)) + if (fork1(&proc0, RFFDG|RFPROC|RFMEM, &p2)) panic("fork kernel thread"); - cpu_set_fork_handler(pfind(proc0.p_retval[0]), - (*sipp)->func, (*sipp)->udata); + cpu_set_fork_handler(p2, (*sipp)->func, (*sipp)->udata); break; case SI_TYPE_KPROCESS: /* kernel thread*/ - if (fork1(&proc0, RFFDG|RFPROC)) + if (fork1(&proc0, RFFDG|RFPROC, &p2)) panic("fork kernel process"); - cpu_set_fork_handler(pfind(proc0.p_retval[0]), - (*sipp)->func, (*sipp)->udata); + cpu_set_fork_handler(p2, (*sipp)->func, (*sipp)->udata); break; default: |