panic caused by EVFILT_SIGNAL detaching in rfork()ed thread

Igor Sysoev is at
Wed Sep 1 12:04:52 PDT 2004

On Wed, 1 Sep 2004, John-Mark Gurney wrote:

> > > The problem is some how that the knote is being removed from the list
> > > (or was never on the list), but not being marked detached...
> > >
> > > Hmmm. what are the options you are using for rfork?
> >
> > The worker process starts two worker threads created by
> > rfork(RFPROC|RFTHREAD|RFMEM). Each thread opens kqueue and
> > adds the EVFILT_SIGNAL event.
> >
> > If you like I can send to you the source tarball (I do not distribute
> > the server right now, because it has not the documentation). The build
> > process is simple. Then you need to press ^C and you will get the panic.
> I believe this panic may be possible w/o rfork, but I'm not possitive..
> It's probably an artifact of the fact that the kq was living longer
> than the proc that had the signal kevent associated with it, which
> normally does not happen...
> Attached is a patch..  And let me know if it fixes your panic...

The patch fixed the panic (I tested on 5.3-BETA2, GENERIC, SMP, HTT,
SCHED_ULE). Thank you. Could you make the similar patch for 4.x ?

And one more, could you rename
into and place a modern (or at least from
4.1-RELEASE) kqueue man page in ? Google shows your
man page at first position and it confuses people. I saw several times
when people said that kqueue has the incompatible interface between BSDs
and even between various FreeBSD verisons referring to this man page.

Igor Sysoev

More information about the freebsd-current mailing list