History log of /openbsd/lib/libevent/kqueue.c (Results 1 – 25 of 43)
Revision Date Author Comments
# a96d88d3 23-Mar-2024 yasuoka <yasuoka@openbsd.org>

In kq_del(), delete matching EV_ADD entries to prevent libevent from
passing both EV_ADD and EV_DELETE for the same fd to kevent().

ok visa


# 949b353c 27-Dec-2022 jmc <jmc@openbsd.org>

spelling fixes; from paul tagliamonte
ok nicm


# a3e9870f 08-May-2019 tobias <tobias@openbsd.org>

Fixed integer overflow with an excessively large amount of events.

While at it: KNF and switch from reallocarray to recallocarray.

ok tedu


# becf7fcb 10-Jul-2017 tedu <tedu@openbsd.org>

if there are no changes for kevent, pass in NULL instead.
this has no effect except to make ktrace output prettier.
ok bluhm mpi


# 8698d772 03-Sep-2016 nayden <nayden@openbsd.org>

Remove NULL pointer checks before calls to free().
OK bluhm@ nicm@


# 5512004a 25-Dec-2015 tedu <tedu@openbsd.org>

revert change to call kevent immediately.
tcpbench (at a minimum) relies on the old behavior of changes all happening
after all event handlers run. in particular, it resets the event for the
listenin

revert change to call kevent immediately.
tcpbench (at a minimum) relies on the old behavior of changes all happening
after all event handlers run. in particular, it resets the event for the
listening socket *before* calling accept(), when it is still readable.
kevent then (correctly) says it is readable on the next go through the loop.
silly, subtle, and stupid.
problem reported by kettenis

show more ...


# 59ffb413 16-Dec-2015 tedu <tedu@openbsd.org>

change the kqueue backend to call kevent() as events are added instead
of deferring until the dispatch loop. kqueue support for various types
of files and filesystems has been historically incomplete

change the kqueue backend to call kevent() as events are added instead
of deferring until the dispatch loop. kqueue support for various types
of files and filesystems has been historically incomplete, and kevent
handles this condition by returning an error. the libevent dispatch
loop has no way to recover from this error and fails catastrophically,
bringing down the entire process because one file went bad.
now, instead of all that happending, event_add will return an error. the
application can choose to handle or ignore this error, but at least the
band will play on.
ok nicm

show more ...


# 824b820d 30-Oct-2014 bluhm <bluhm@openbsd.org>

Fix whitespace errors in libevent.
OK nicm@


# 84ea67e3 29-Oct-2014 bluhm <bluhm@openbsd.org>

After removing all the #ifdef, the wrappers in evutil are rather
useless. Let libevent call the libc functions directly.
OK nicm@


# e7c53765 29-Oct-2014 bluhm <bluhm@openbsd.org>

Remove workaround for Mac OS X kqueue bug.
OK nicm@


# 37fbd8df 18-Oct-2014 bluhm <bluhm@openbsd.org>

Remove some #ifdef from libevent.
OK nicm@


# 44e30b10 18-Oct-2014 bluhm <bluhm@openbsd.org>

Remove the remaining #ifdef HAVE_ and the #define _GNU_SOURCE.
OK nicm@


# defc4074 17-Oct-2014 bluhm <bluhm@openbsd.org>

Remove #ifdef HAVE_.*_H, just include the header files.
Do not include sys/param.h.
OK nicm@


# a37b64e4 16-Oct-2014 bluhm <bluhm@openbsd.org>

Remove #ifdef HAVE_CONFIG_H, there is no config.h file.
OK nicm@


# 2af34b00 08-Oct-2014 deraadt <deraadt@openbsd.org>

use reallocarray() to detect multiplicative integer overflow; obvious
pattern.
This commit does not fix the non-obvious bloody horror of select.c.


# 1db6aa6e 08-Feb-2012 nicm <nicm@openbsd.org>

r1.27 changed libevent to fire a read event when kqueue returned EBADF
(and several other things, particularly EPIPE) on a file
descriptor. This causes Google Chrome to die (probably due to a bug in

r1.27 changed libevent to fire a read event when kqueue returned EBADF
(and several other things, particularly EPIPE) on a file
descriptor. This causes Google Chrome to die (probably due to a bug in
Chrome but finding that is next to impossible at the moment).

It's not really clear what libevent should when an invalid fd is added -
the poll backend doesn't fire an event and select exits the event
loop. Until this is settled, change kqueue to match poll and ignore
EBADF, keeping the behaviour r1.27 fixed on EPIPE.

Fix from robert@.

show more ...


# 10649951 30-Jan-2012 nicm <nicm@openbsd.org>

Handle a wider range of kqueue error return values for an event,
prevents libevent exiting the event loop when getting EPIPE. Problem
first seen by drahn@ and more recently hit by gilles@, fix based

Handle a wider range of kqueue error return values for an event,
prevents libevent exiting the event loop when getting EPIPE. Problem
first seen by drahn@ and more recently hit by gilles@, fix based on one
by Nick Mathewson.

ok gilles

show more ...


# e175bf56 12-Jul-2010 nicm <nicm@openbsd.org>

Update to 1.4.14b.

From their change log:
o Fix memory-leak of signal handler array with kqueue. [backport]
o Make evutil_make_socket_nonblocking() leave any other flags alone.
o Adjusted fcntl()

Update to 1.4.14b.

From their change log:
o Fix memory-leak of signal handler array with kqueue. [backport]
o Make evutil_make_socket_nonblocking() leave any other flags alone.
o Adjusted fcntl() retval comparison on evutil_make_socket_nonblocking().
o Re-add event_siglcb; some old code _was_ still using it. :(
o Fix a free(NULL) in min_heap.h
o Clean up properly when adding a signal handler fails.

Also a local change to use an int rather than a long for fcntl().

ok guenther deraadt

show more ...


# 8ead113e 21-Apr-2010 nicm <nicm@openbsd.org>

Update libevent to 1.4.13.

This is the core library only, the DNS parts are removed and it does not
include the other extra bits (HTTP, DNS, and RPC), a separate port for
these will appear in due co

Update libevent to 1.4.13.

This is the core library only, the DNS parts are removed and it does not
include the other extra bits (HTTP, DNS, and RPC), a separate port for
these will appear in due course.

Thanks to jsg, sthen, alek, gilles, jacekm, bernd and any others I've
forgotten for testing/comments.

Note that /usr/include/evdns.h should be removed after updating.

ok deraadt

show more ...


# bdce580d 02-May-2008 brad <brad@openbsd.org>

Update to libevent 1.3e while retaining our local changes.

"No objection" millert@
"the diff looks and works fine" reyk@


# 1ed98fdf 02-Sep-2007 deraadt <deraadt@openbsd.org>

use calloc() to avoid malloc(n * m) overflows; checked by djm canacar jsg


# 7567a386 19-Mar-2007 millert <millert@openbsd.org>

Update to libevent-1.3b while retaining our local changes. beck@ OK


# c46b02d0 05-Nov-2006 brad <brad@openbsd.org>

typo in kqueue delete.

From Niels Provos via the libevent SVN repo, by Bert JW. Regeer

ok deraadt@


# 3ac1ba99 30-Mar-2006 brad <brad@openbsd.org>

introduce a way to free the base.

From libevent CVS


# 94f6f200 20-Dec-2005 brad <brad@openbsd.org>

do not remove kq inkernel flag before event_del gets to it;

From libevent CVS

ok deraadt@


12