Date: Tue, 06 May 2003 20:19:53 +0800 From: Snofe Deng <dsnofe@hotmail.com> To: freebsd-net@freebsd.org Subject: Problem about kqueue. Message-ID: <20030506200419.D011.DSNOFE@hotmail.com>
next in thread | raw e-mail | index | archive | help
If I register: {ident, EVFILT_READ} {ident, EVFILT_WRITE} {ident, EVFILT_TIMER} pairs to kq;and all the piar with same ident which is a socket descriptor. then I close(2) ident. Does this mean that all these three {ident, filter} pairs will be removed just after the descriptor isclosed? or should I use: EV_SET(&evs, ident, EVFILT_READ, EV_DELETE, 0, 0, NULL) EV_SET(&evs, ident, EVFILT_WRITE, EV_DELETE, 0, 0, NULL) EV_SET(&evs, ident, EVFILT_TIMER, EV_DELETE, 0, 0, NULL) to delete these three pairs? when I just closed the socket descriptor, the {ident, EVFILT_READ/EVFILT_WRITE} are removed. but {ident, EVFILT_TIMER} is still returned at next kevent(2) loop. Is it a bug? or why should this happend? when I use the second way, things worked ok. Any one can help me? thanks a lot! -- Snofe Deng <dsnofe@hotmail.com>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030506200419.D011.DSNOFE>