Page MenuHomeFreeBSD

D42777.id130647.diff
No OneTemporary

D42777.id130647.diff

diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
--- a/sys/kern/kern_exit.c
+++ b/sys/kern/kern_exit.c
@@ -983,7 +983,6 @@
proc_id_clear(PROC_ID_PID, p->p_pid);
PROC_LOCK(p);
- knlist_delete(p->p_klist, td, 1);
knlist_detach(p->p_klist);
p->p_klist = NULL;
PROC_UNLOCK(p);
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c
--- a/sys/kern/kern_fork.c
+++ b/sys/kern/kern_fork.c
@@ -622,7 +622,6 @@
LIST_INIT(&p2->p_orphans);
callout_init_mtx(&p2->p_itcallout, &p2->p_mtx, 0);
- TAILQ_INIT(&p2->p_kqtim_stop);
/*
* This begins the section where we must prevent the parent
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c
--- a/sys/kern/kern_proc.c
+++ b/sys/kern/kern_proc.c
@@ -275,6 +275,7 @@
EVENTHANDLER_DIRECT_INVOKE(process_init, p);
p->p_stats = pstats_alloc();
p->p_pgrp = NULL;
+ TAILQ_INIT(&p->p_kqtim_stop);
return (0);
}
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -4296,9 +4296,7 @@
static void
filt_sigdetach(struct knote *kn)
{
- struct proc *p = kn->kn_ptr.p_proc;
-
- knlist_remove(p->p_klist, kn, 0);
+ knlist_remove(kn->kn_knlist, kn, 0);
}
/*

File Metadata

Mime Type
text/plain
Expires
Sat, Mar 21, 2:21 PM (16 h, 44 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30039891
Default Alt Text
D42777.id130647.diff (1 KB)

Event Timeline