Skip site navigation (1)Skip section navigation (2)
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>