summaryrefslogtreecommitdiff
path: root/sys/kern/kern_linker.c
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1999-06-30 15:33:41 +0000
committerPeter Wemm <peter@FreeBSD.org>1999-06-30 15:33:41 +0000
commitdf8abd0bb91dd5686111bc0d6ac9f65aa3e66af9 (patch)
tree7c1e229a108aab7fe47d2d054255fefea6d2bacf /sys/kern/kern_linker.c
parentfbf8dd228ae7d65979bdd20a19d36d4b3c340c12 (diff)
Notes
Diffstat (limited to 'sys/kern/kern_linker.c')
-rw-r--r--sys/kern/kern_linker.c13
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: