diff options
author | jhb <jhb@FreeBSD.org> | 2001-01-24 00:35:12 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-01-24 00:35:12 +0000 |
commit | 7c01c0a2c2233d1a835a785e4f8862fc3647c8be (patch) | |
tree | db7b45f100c917594593eb54a24f456f32551e3d /sys/kern/kern_event.c | |
parent | 1046fa2a8d8317274a39242a50a349689437a5a7 (diff) | |
download | FreeBSD-src-7c01c0a2c2233d1a835a785e4f8862fc3647c8be.zip FreeBSD-src-7c01c0a2c2233d1a835a785e4f8862fc3647c8be.tar.gz |
Proc locking.
Diffstat (limited to 'sys/kern/kern_event.c')
-rw-r--r-- | sys/kern/kern_event.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index 1a89d32..c1604d2 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -215,8 +215,9 @@ filt_procattach(struct knote *kn) kn->kn_flags &= ~EV_FLAG1; } - /* XXX lock the proc here while adding to the list? */ + PROC_LOCK(p); SLIST_INSERT_HEAD(&p->p_klist, kn, kn_selnext); + PROC_UNLOCK(p); return (0); } @@ -237,8 +238,9 @@ filt_procdetach(struct knote *kn) if (kn->kn_status & KN_DETACHED) return; - /* XXX locking? this might modify another process. */ + PROC_LOCK(p); SLIST_REMOVE(&p->p_klist, kn, knote, kn_selnext); + PROC_UNLOCK(p); } static int |