[Bug 229741] kevent is not properly adding EVFILT_READ and EVFILT_WRITE for unix sockets when used in one call

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Jul 12 18:51:37 UTC 2018


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

            Bug ID: 229741
           Summary: kevent is not properly adding EVFILT_READ and
                    EVFILT_WRITE for unix sockets when used in one call
           Product: Base System
           Version: 10.1-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: bugs at FreeBSD.org
          Reporter: radovanovic at gmail.com
 Attachment #195091 text/plain
         mime type:

Created attachment 195091
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=195091&action=edit
simple test

When adding two events to watch (EVFILT_READ and EVFILT_WRITE) in single call
kevent is not handling them properly (at least for unix sockets). If both are
added in one call which one is reported depends on their order; however if they
are added using 2 calls everything works as expected

I.e.

struct kevent kev[2];
...
kevent(kqueue, kev, 2, NULL, 0, NULL);

and

struct kevent kev[2];
...
kevent(kqueue, kev, 1, NULL, 0, NULL);
kevent(kqueue, kev + 1, 1, NULL, 0, NULL); 

do not give identical results.

Simple test case is attached - expected result would be for test program to
output at least one line saying:

BothReadWrite received EVFILT_WRITE

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list