Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| aef201a9 | 2024-04-29 13:35:33 | Change ident for EVFILT_USER to 0 and add a test (#1582) Conventionally, ident for EVFILT_USER is set to 0 to avoid collision of file descriptors, which is what other renowned networking frameworks like netty(java), mio(rust), gnet(go), swift-nio(swift), etc. do currently. Co-authored-by: Azat Khuzhin <azat@libevent.org> | ||
| 57d9eec6 | 2023-07-10 10:40:49 | Disable signalfd by default signalfd may behave differently to sigaction/signal, so to avoid breaking libevent users (like [1], [2]) disable it by default. [1]: https://github.com/tmux/tmux/pull/3621 [2]: https://github.com/tmux/tmux/pull/3626 Also signalfd is not that perfect: - you need to SIG_BLOCK the signal before - blocked signals are not reset on exec - blocked signals are allowed to coalesce - so in case of multiple signals sent you may get the signal only once (ok for most of the signals, but may be a problem for SIGCHLD, though you may call waitpid() in a loop or use pidfd) - and also one implementation problem - sigprocmask is unspecified in a multithreaded process Refs: - https://lwn.net/Articles/415684/ - https://ldpreload.com/blog/signalfd-is-useless Refs: https://github.com/libevent/libevent/issues/1460 Refs: #1342 (cc @dmantipov) | ||
| 13366d27 | 2023-06-13 07:23:10 | Test timer - synchronize clock before tv_timeout calculation. | ||
| e8313084 | 2022-09-12 22:16:56 | Add minimal WebSocket server implementation for evhttp (#1322) This adds few functions to use evhttp-based webserver to handle incoming WebSockets connections. We've tried to use both libevent and libwebsockets in our application, but found that we need to have different ports at the same time to handle standard HTTP and WebSockets traffic. This change can help to stick only with libevent library. Implementation was inspired by modified Libevent source code in ipush project [1]. [1]: https://github.com/sqfasd/ipush/tree/master/deps/libevent-2.0.21-stable Also, WebSocket-based chat server was added as a sample. | ||
| 028385f6 | 2020-05-28 17:14:46 | fix build system and add test and cleanup code | ||
| 83ef3216 | 2020-04-22 19:44:45 | Add wepoll support to light up the epoll backend on Windows libevent is lacking a scalable backend on Windows. Let's leverage the wepoll library until Windows comes up with an epoll/kqueue compete user mode API. - All regress tests pass for standard wepoll - These 2 tests fail intermittently for changelist wepoll, so disabling changelist wepoll for now http/cancel_inactive_server http/stream_in - verify target on Windows runs tests for both wepoll and win32 backends - wepoll backend preferred over win32 backend - wepoll version 1.5.6 v2: cleaner backend abstraction. Disallow wepoll on MinGW/Cygwin. v3: Add wepoll.h to dist v4: Make sure wepoll source files are excluded from cygwin/mingw builds v5: Keep win32 as default backend on windows. v6: Include wepoll in mingw builds. Verified that regress tests pass w/ WEPOLL backend. v7: Enable wepoll on mingw when building with cmake v8: Add wepoll testrunner for autotools test target | ||
| 2f184f8b | 2019-03-26 13:33:57 | evwatch: Add "prepare" and "check" watchers. Adds two new callbacks: "prepare" watchers, which fire immediately before we poll for I/O, and "check" watchers, which fire immediately after we finish polling and before we process events. This allows other event loops to be embedded into libevent's, and enables certain performance monitoring. Closes: #710 | ||
| 2ae875ed | 2019-03-25 01:40:46 | Link test/regress with event_core/event_extra over event Due to regress linked with event and event_core (both of them includes evthread.c) there will be two different evthread_id_fn_ variables under mingw64: evthread_id_fn_: &0x5294f20a8 evthread_id_fn_: &0x4ba0030a8 And because of this evthread_use_pthreads() can/will set one copy of variables while evthread*() functions will access another, which will break a lot of things (for example main/del_notify test). Fixes: #792 | ||
| cf7f5b0d | 2017-06-28 12:29:29 | Fix tests with detached builds Closes: #524 | ||
| 8d89c212 | 2017-05-01 21:55:00 | Add missing print-winsock-errors.c into dist archive Refs: #497 | ||
| ea1d30ca | 2017-01-20 16:29:19 | test: register different tests in automake Before this patch we have one test.sh (well test-script.sh), and tooks very long to run it sequentially, but they are pretty lightweight, so we should run then in parallel. | ||
| bb09535b | 2016-08-07 22:19:39 | autoconf: fix --disable-thread-support build under win32 Fixes: https://ci.appveyor.com/project/azat/libevent/build/job/gvud4tcqsd5bnarl Fixes: https://ci.appveyor.com/project/azat/libevent/build/2.1.6.80/job/5frnb1c3n4quxxqy Fixes: https://ci.appveyor.com/project/azat/libevent/build/2.1.6.80/job/3wdahbrew7setmoa | ||
| 239d8345 | 2014-03-06 10:18:09 | Fix 'make distcheck' by adding regress.gen.[ch] to DISTCLEANFILES Patch from Harlan Stenn. | ||
| b1b69ac7 | 2014-01-17 23:20:42 | Implemented EV_CLOSED event for epoll backend (EPOLLRDHUP). - Added new EV_CLOSED event - detects premature connection close by clients without the necessity of reading all the pending data. Does not depend on EV_READ and/or EV_WRITE. - Added new EV_FEATURE_EARLY_CLOSED feature for epoll. Must be supported for listening to EV_CLOSED event. - Added new regression test: test-closed.c - All regression tests passed (test/regress and test/test.sh) - strace output of test-closed using EV_CLOSED: socketpair(PF_LOCAL, SOCK_STREAM, 0, [6, 7]) = 0 sendto(6, "test string\0", 12, 0, NULL, 0) = 12 shutdown(6, SHUT_WR) = 0 epoll_ctl(3, EPOLL_CTL_ADD, 7, {EPOLLRDHUP, {u32=7, u64=7}}) = 0 epoll_wait(3, {{EPOLLRDHUP, {u32=7, u64=7}}}, 32, 3000) = 1 epoll_ctl(3, EPOLL_CTL_MOD, 7, {EPOLLRDHUP, {u32=7, u64=7}}) = 0 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 4), ...}) mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYM... write(1, "closed_cb: detected connection close "..., 45) = 45 | ||
| 243386cc | 2013-09-15 21:48:15 | rpcgen: Generate regress.gen.[c,h] in build rather than src dir Currently an out-of-tree build will either write to the src dir or reuse the existing regress.gen.[c,h]. But if building from a read-only git tree (or if the git dir is cleaned), these files will not exist and the build fails. So write the files to the build dir. If the system does not have python, the regress.gen.[c,h] will be used from the src dir if they exist. | ||
| 8eedeabe | 2013-03-28 14:13:19 | Implement event_finalize() and related functions to avoid certain deadlocks | ||
| f935e215 | 2013-03-15 09:33:28 | build test/test-script.sh on systems with a less-featureful $< | ||
| 787fd748 | 2013-03-15 09:33:13 | Make --disable-libevent-regress work again | ||
| 2863c837 | 2013-02-08 22:10:05 | Avoid using $(top_srcdir) in TESTS. Newer automakes don't like this. | ||
| 1d9d5110 | 2012-11-15 11:40:33 | Use the same CFLAGS for openssl when building unit tests as with libevent | ||
| 1e3123da | 2012-08-28 16:15:14 | Fix handling of no-python case for nonrecursive make | ||
| 607a8ff9 | 2012-08-28 16:14:38 | Be quiet when making regress.gen.[ch] | ||
| 371a1237 | 2012-08-28 16:07:56 | Make quiet build even quieter | ||
| 6cdfeebe | 2012-08-28 16:01:14 | Rename subordinate Makefile.ams to include.am |