We just released a new stable version of Libevent that fixes the following problems:* If the kernel tells us that there are a negative number of bytes to read from a socket, do not believe it. Fixes bug 2841177; found by Alexander Pronchenkov.
- Do not allocate the maximum event queue and fd array for the epoll backend at startup. Instead, start out accepting 32 events at a time, and double the queue’s size when it seems that the OS is generating events faster than we’re requesting them. Saves up to 512K per epoll-based event_base. Resolves bug 2839240.
- Fix compilation on Android, which forgot to define fd_mask in its sys/select.h
- Do not drop data from evbuffer when out of memory; reported by Jacek Masiulaniec
- Rename our replacement compat/sys/_time.h header to avoid build a conflict on HPUX; reported by Kathryn Hogg.
- Build kqueue.c correctly on GNU/kFreeBSD platforms. Patch pulled upstream from Debian.
- Fix a problem with excessive memory allocation when using multiple event priorities.
- When running set[ug]id, don’t check the environment. Based on a patch from OpenBSD.
A new alpha release of libevent 2.0 is on its way, too. Thanks to everyone who submitted patches and bug reports.
The source code is available at http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz. Don’t forget to verify the signature.