https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=201528

Mateusz Guzik <m...@freebsd.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |m...@freebsd.org
           Assignee|freebsd-bugs@FreeBSD.org    |j...@freebsd.org

--- Comment #2 from Mateusz Guzik <m...@freebsd.org> ---
Quick look suggests the problem seems to be here:

        while (count) {
                KQ_OWNED(kq);
                kn = TAILQ_FIRST(&kq->kq_head);

                if ((kn->kn_status == KN_MARKER && kn != marker) ||
                    (kn->kn_status & KN_INFLUX) == KN_INFLUX) {
                        if (influx) {
                                influx = 0;
                                KQ_FLUX_WAKEUP(kq);
                        }
                        kq->kq_state |= KQ_FLUXWAIT;
                        error = msleep(kq, &kq->kq_lock, PSOCK,
                            "kqflxwt", 0);
                        continue;
                }


count is not modified, so the code just loops after a signal is received.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to