Date: Wed, 15 May 2013 13:29:59 +0100 From: Paul "LeoNerd" Evans <leonerd@leonerd.org.uk> To: Julian Elischer <julian@freebsd.org> Cc: freebsd-hackers@freebsd.org, Adrian Chadd <adrian@freebsd.org>, Eugen-Andrei Gavriloaie <shiretu@gmail.com> Subject: Re: Managing userland data pointers in kqueue/kevent Message-ID: <20130515132959.7f113255@shy.leonerd.org.uk> In-Reply-To: <519327DF.6060002@freebsd.org> References: <CCE4FFC4-F846-4F81-85EE-776B753C63C6@gmail.com> <20130513185357.1c552be5@shy.leonerd.org.uk> <CAJ-VmomQmPjtUhUo2%2BK=0Ychw-=qgawrZt3hnYeCPNNhA9T50A@mail.gmail.com> <CAJ-VmonKC_7J=aNgRntub9DN%2BEfQxrhMjstXHSJ634%2BaFemcLg@mail.gmail.com> <20130513191513.786f4f02@shy.leonerd.org.uk> <8A02C28F-89CB-4AE3-A91A-89565F041FDE@gmail.com> <CAJ-VmonjOS7Axq18VxL6B53T4DVgAYdY3LaT8nd7afFj2dq3cA@mail.gmail.com> <20130513194411.5a2dfa2e@shy.leonerd.org.uk> <519327DF.6060002@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/CKQQMiQkN6/R.MPnz=gbgjQ Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 15 May 2013 02:14:55 -0400 Julian Elischer <julian@freebsd.org> wrote: > I would suggest that one answer would be to create an extension to=20 > register a > kevent to catch these events.. >=20 > (the knote_drop()) >=20 > The returned event could have all the appropriate information for the > event being dropped.. Is that not the exact thing I suggested? The "extension to create register a kevent to catch these events" is that you put the EV_DROPWATCH bit flag in the event at the time you register it. The "returned event [that] could have all the appropriate informaiton for the event being dropped" is that you receive an event with EV_DROPPED set on it. It being a real event includes of course the udata pointer, so you can handle it. It's really simple to use: When you register, ev->flags |=3D EV_DROPWATCH When you receive an event, process it in the normal way, then if(ev->flags & EV_DROPPED) free(ev->udata); and that is all there is to it. --=20 Paul "LeoNerd" Evans leonerd@leonerd.org.uk ICQ# 4135350 | Registered Linux# 179460 http://www.leonerd.org.uk/ --Sig_/CKQQMiQkN6/R.MPnz=gbgjQ Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAlGTf8cACgkQvLS2TC8cBo26iACeO3k1s+4/mOJQYzRE+KMzWT/J g4wAn1+2c2EUPU58ULQ8IgnRwsgN1TIh =dAAY -----END PGP SIGNATURE----- --Sig_/CKQQMiQkN6/R.MPnz=gbgjQ--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130515132959.7f113255>