Date: Wed, 6 Nov 2013 21:00:18 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r257764 - stable/8/sys/kern Message-ID: <201311062100.rA6L0Iqr043799@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhb Date: Wed Nov 6 21:00:18 2013 New Revision: 257764 URL: http://svnweb.freebsd.org/changeset/base/257764 Log: MFC 254287: Some small cleanups to the fixes in r180340: - Set NOTE_TRACKERR before running filt_proc(). If the knote did not have NOTE_FORK set in fflags when registered, then the TRACKERR event could miss being posted. - Don't pass the pid in to filt_proc() for NOTE_FORK events. The special handling for pids is done knote_fork() directly and no longer in filt_proc(). Modified: stable/8/sys/kern/kern_event.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/kern/ (props changed) Modified: stable/8/sys/kern/kern_event.c ============================================================================== --- stable/8/sys/kern/kern_event.c Wed Nov 6 20:58:04 2013 (r257763) +++ stable/8/sys/kern/kern_event.c Wed Nov 6 21:00:18 2013 (r257764) @@ -457,7 +457,7 @@ knote_fork(struct knlist *list, int pid) */ if ((kn->kn_sfflags & NOTE_TRACK) == 0) { kn->kn_status |= KN_HASKQLOCK; - if (kn->kn_fop->f_event(kn, NOTE_FORK | pid)) + if (kn->kn_fop->f_event(kn, NOTE_FORK)) KNOTE_ACTIVATE(kn, 1); kn->kn_status &= ~KN_HASKQLOCK; KQ_UNLOCK(kq); @@ -485,10 +485,10 @@ knote_fork(struct knlist *list, int pid) kev.data = kn->kn_id; /* parent */ kev.udata = kn->kn_kevent.udata;/* preserve udata */ error = kqueue_register(kq, &kev, NULL, 0); - if (kn->kn_fop->f_event(kn, NOTE_FORK | pid)) - KNOTE_ACTIVATE(kn, 0); if (error) kn->kn_fflags |= NOTE_TRACKERR; + if (kn->kn_fop->f_event(kn, NOTE_FORK)) + KNOTE_ACTIVATE(kn, 0); KQ_LOCK(kq); kn->kn_status &= ~KN_INFLUX; KQ_UNLOCK_FLUX(kq);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311062100.rA6L0Iqr043799>