>Number: 170177 >Category: kern >Synopsis: Cannot watch UNIX sockets for "vnode" events using kqueue >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Jul 25 21:00:25 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Maxim "WGH" >Release: FreeBSD 8.1-RELEASE-p1 >Organization: >Environment: FreeBSD torlan 8.1-RELEASE-p1 FreeBSD 8.1-RELEASE-p1 #8: Sat Oct 30 23:25:06 MSD 2010 wgh@torlan:/usr/obj/usr/src/sys/TORLAN i386 >Description: kqueue provides a facility to watch file changes (EVFILT_VNODE). UNIX sockets are also files, they have file modes [1], they can be unlinked, etc. All these things can be watched by kqueue.
In order to do so, however, one has to provide file descriptor. The problem is that file descriptors for UNIX socket are essentially unobtainable. open()'ing sockets is not implemented, as it's stated in manual and seen in the source code. connect()'ed sockets also don't work, kevent() just returns EINVAL for them. 1. screen and patched dtach set the "executable" bit of socket if there're clients attached. Watching for its changes in an efficient way would be useful. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: _______________________________________________ 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"