Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| b456e4bd | 2024-10-26 20:46:41 | Use arc4random_stir over deprecated arc4random_addrandom (#1631) Co-authored-by: Azat Khuzhin <azat@libevent.org> | ||
| e5181b15 | 2024-06-24 03:37:49 | Cleanup EVENT_HAVE_ macros (#1645) | ||
| a0fc31bf | 2024-06-01 18:52:39 | Sort symbols to check in cmake/autotools lexicographically | ||
| eec47a67 | 2024-04-30 15:59:58 | Fix typos (#1634) | ||
| 71d41cdf | 2024-04-22 06:39:35 | build: Add `Iphlpapi` to `Libs.private` in `*.pc` files on Windows It has been required since https://github.com/libevent/libevent/pull/923 at least for the `if_nametoindex` call. | ||
| ed35b30f | 2023-10-23 16:52:19 | Fix two compiler errors for unused variable and undefined function In buffer.c a variable "flags" and a label "done" are defined but never used if "EVENT__HAVEMMAP" is not defined. The code does not work on platforms which do not provide the function `socketpair()`. Introduce EVENT__HAVE_SOCKETPAIR flag which determines if `socketpair()` or `evutil_ersatz_socketpair()` is used. | ||
| 242f7676 | 2023-06-17 00:16:41 | Enable containing package CFLAGS etc. Add AC_SUBST of LIBEVENT_FLAGS, LIBEVENT_CPPFLAGS, and LIBEVENT_LDFLAGS so they are relayed from the configure command line to the Makefile | ||
| 9ce6ae78 | 2023-06-05 18:38:22 | Add option to auto-detect OpenSSL and MbedTLS | ||
| 2112c396 | 2023-05-22 08:21:01 | autotools: fix generating pkg-config files (by substituting CMAKE_DEBUG_POSTFIX) Fixes: #1459 | ||
| 1c06b68f | 2023-05-21 10:09:50 | Add a note about the last number in NUMERIC_VERSION | ||
| 8d1388a3 | 2023-05-21 08:40:48 | Bump version to 2.2.1 | ||
| f747a7b9 | 2023-04-04 22:19:07 | Prohibit VLA in autotools too | ||
| e89ddd40 | 2023-02-13 16:06:29 | build: use FORTIFY_SOURCE=3 in autotools build | ||
| 0b79a002 | 2023-01-02 17:06:48 | buffer: use pread() for evbuffer_file_segment_materialize() If pread(2) is available, prefer it over double lseek(2) and read(2) in evbuffer_file_segment_materialize(). Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> | ||
| 1af745d0 | 2022-10-25 11:30:34 | signal: new signal handling backend based on signalfd Linux-specific signal handling backend based on signalfd(2) system call, and public function event_base_get_signal_method() to obtain an underlying kernel signal handling mechanism. Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> | ||
| 9e346936 | 2022-11-12 18:56:25 | Ignore unknown pragmas Since new compilers has new checks (like -Wdangling-pointer), and so to avoid extra checks in cmake/autotools, simply suppress if the pragma is unknown. | ||
| 117ee9a0 | 2022-09-15 14:06:50 | epoll: use epoll_pwait2() if available On GNU/Linux with epoll backend, prefer epoll_pwait2() if available, which is useful to support the timeout with microsecond precision. | ||
| 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. | ||
| 99fd68ab | 2022-08-07 13:51:48 | Add check of mmap64 function and use it when available rather that mmap There can be issues on 32-bit architectures to mmap 2+GiB file, and to make this portable between different version of glibc, mmap64 was prefered over _FILE_OFFSET_BITS | ||
| d881d062 | 2022-07-09 20:28:18 | configure: fix AC_CHECK_FUNCS should use literals Error configure.ac:291: warning: AC_CHECK_FUNCS(getnameinfo ): you should use literals ../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... configure.ac:291: the top level configure.ac:291: warning: AC_CHECK_FUNCS(getprotobynumber ): you should use literals ../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... configure.ac:291: the top level configure.ac:291: warning: AC_CHECK_FUNCS(getservbyname ): you should use literals ../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... configure.ac:291: the top level configure.ac:291: warning: AC_CHECK_FUNCS(inet_ntop ): you should use literals ../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... configure.ac:291: the top level configure.ac:291: warning: AC_CHECK_FUNCS(inet_pton ): you should use literals ../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... configure.ac:291: the top level | ||
| 39604493 | 2022-07-09 17:08:21 | Detech -Wno-unused-functions for GCC too Otherwise build fails [1]: /home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/minheap-internal.h:64:6: error: ‘min_heap_ctor_’ defined but not used [-Werror=unused-function] void min_heap_ctor_(min_heap_t* s) { s->p = 0; s->n = 0; s->a = 0; } ^~~~~~~~~~~~~~ In file included from /home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/buffer.c:91:0: /home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/bufferevent-internal.h:414:1: error: ‘bufferevent_trigger_nolock_’ defined but not used [-Werror=unused-function] bufferevent_trigger_nolock_(struct bufferevent *bufev, short iotype, int options) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/buffer.c:89:0: /home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/evthread-internal.h:140:1: error: ‘EVLOCK_TRY_LOCK_’ defined but not used [-Werror=unused-function] EVLOCK_TRY_LOCK_(void *lock) [1]: https://github.com/libevent/libevent/runs/7263518180?check_suite_focus=true | ||
| 03945889 | 2022-07-09 14:43:39 | Fix -Werror for autotools | ||
| bf3ce77f | 2022-06-23 13:38:14 | build: only try silence options if they exist Otherwise GCC will warn. i.e: ```bash CCLD libevent_openssl.la cc1: note: unrecognized command-line option ‘-Wno-void-pointer-to-enum-cast’ may have been intended to silence earlier diagnostics CCLD libevent_mbedtls.la ``` | ||
| 1c204d55 | 2022-06-13 04:58:50 | Fix some typos (#1284) Signed-off-by: cuishuang <imcusg@gmail.com> | ||
| 9aa4eb09 | 2021-11-24 08:44:03 | build: use modern ax_pthread macro acx_pthread became ax_pthread in 2009 and the macro has seen lots of updates since then. This change switches to using the latest version. | ||
| 082941ed | 2021-11-24 14:41:33 | build: remove inconsistently used x-prefix comparisons Given that these are already used inconsistently with `test` checks, it makes sense to consolidate to not use the x-prefix comparisons at all. In any case, it would be nice to think we no longer have to work around a problem that existed in shells many, many years ago. More info: https://github.com/koalaman/shellcheck/wiki/SC2268 https://www.vidarholen.net/contents/blog/?p=1035 | ||
| 7179cedd | 2021-09-19 13:36:15 | Add -Wno-void-pointer-to-enum-cast (we use this hack in tests) Refs: https://reviews.llvm.org/D75758 | ||
| 7ab3a06a | 2021-06-16 15:29:30 | build: test ac_cv_header_sys_time_h once, reformat timer* macro checks | ||
| 041d6f09 | 2021-06-15 16:00:48 | build: remove call to AC_C_CONST() > This macro is obsolescent, as current C compilers support const. > New programs need not use this macro. See: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.67/autoconf.html#index-AC_005fC_005fCONST-877. | ||
| 7708f6ce | 2021-06-15 15:22:20 | build: stop using the deprecated form of AC_OUTPUT() > The use of AC_OUTPUT with arguments is deprecated. See: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.67/autoconf.html#AC_005fOUTPUT. | ||
| 5f11857f | 2021-06-15 14:34:46 | build: quote args in AC_ARG_ENABLE & AS_HELP_STRING Previously, some were, some weren't. Consolidate on quoting. | ||
| 67f808ec | 2021-06-15 14:10:29 | build: remove call to AC_HEADER_TIME Besides the fact that the *_TIME_WITH_SYS_TIME define doesn't seem to be used anywhere in the libevent source, this macro is also obselescent. > This macro is obsolescent, as current systems can include both files when they exist. > New programs need not use this macro. See: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.67/autoconf.html#index-AC_005fHEADER_005fTIME-640. | ||
| eb59d84d | 2021-06-15 13:41:05 | build: call AC_PREREQ() first & quote argument > This macro may be used before AC_INIT. Calling this first means establishing that the required version of autoconf is actually available, before bothering with AC_INIT(). See: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.67/autoconf.html#Versioning. | ||
| dfae9557 | 2021-06-15 13:35:58 | build: remove call to AC_PREFIX_DEFAULT > By default, configure sets the prefix for files it installs to /usr/local. A call to AC_PREFIX_DEFAULT, just to set the value the same as the default, would seem unnecessary. Note that the "initialize prefix" comment dates back to aa6567fe6475d3230c7c745a7ca208735af0c331, prior to when an autoconf macro was actually being used. See: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.67/autoconf.html#Default-Prefix. | ||
| 710ccb7e | 2021-06-15 13:31:44 | build: remove call to AC_PROG_GCC_TRADITIONAL libevent requires Autoconf 2.67+, and from atleast this version onwards, if not earlier, this macro is obsolescent. > This macro is obsolescent, since current versions of the GNU > C compiler fix the header files automatically when installed. See: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.67/autoconf.html#AC_005fPROG_005fGCC_005fTRADITIONAL. | ||
| 72138063 | 2021-04-27 21:15:03 | Do not wrap lines in AC_CHECK_HEADERS/AC_CHECK_FUNCS (fixes detection in mingw) Fixes: d433f847 ("Revert "build: use literals for AC_CHECK_HEADERS/AC_CHECK_FUNCS"") Fixes: 28f0fe6f ("build: use literals for AC_CHECK_HEADERS/AC_CHECK_FUNCS") Fixes: ce028cef ("build: fix autotools build under mingw") | ||
| d433f847 | 2021-04-02 09:19:55 | Revert "build: use literals for AC_CHECK_HEADERS/AC_CHECK_FUNCS" That commit was wrong, it breaks syntax for autoconf <2.71, since AC_CHECK_*S() requires sh-like list. This reverts commit 28f0fe6fd1e2b1e9fb24a5c7a5b078790890e44f. Fixes: #1149 | ||
| 28f0fe6f | 2021-03-28 17:16:54 | build: use literals for AC_CHECK_HEADERS/AC_CHECK_FUNCS autoconf 2.72 reports: configure.ac:188: warning: AC_CHECK_HEADERS(\ ): you should use literals ../autoconf-2.71/lib/autoconf/headers.m4:217: AC_CHECK_HEADERS is expanded from... configure.ac:188: the top level configure.ac:188: warning: AC_CHECK_HEADERS(afunix.h ): you should use literals And also it fails to find fcntl.h and other headers because of this: configure:14725: checking for fcntl.h configure:14725: gcc -c -I/mingw64/include conftest.c >&5 conftest.c:77:10: fatal error: fcntl.h: No such file or directory 77 | #include < fcntl.h> Refs: https://github.com/libevent/libevent/pull/1146/checks?check_run_id=2211752215 | ||
| ce028cef | 2021-03-28 09:01:58 | build: fix autotools build under mingw autotools that is shipped with mingw (autoconf 2.71-1, automake 1.6-1.16, automake wrapper 11-1), does not allow trailing backslashes for AC_CHECK_HEADERS() and AC_CHECK_FUNCS(), otherwise it generates incorrect for loop, and reports: ../configure: line 14724: syntax error near unexpected token `as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh`' ../configure: line 14724: ` as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh`' Error: Process completed with exit code 1. Here is a simple analog: for VAR in <CR> foo \ <CR> bar \ do : echo $VAR done Trailing slash is not allowed. Refs: - https://github.com/libevent/libevent/runs/2171607687 - https://github.com/libevent/libevent/runs/2211365885?check_suite_focus=true | ||
| 78e8541a | 2021-03-28 10:35:22 | build: remove no-longer used checks for vasprintf From what I can tell the last usage was removed in 8d1317d71c46e27c5073d3429a64af69de0351a6. | ||
| 4c29b01c | 2021-03-28 10:57:11 | build: remove splice implementation fragments Looks like a `splice` implementation was planned, but has clearly never eventuated (the TODO comment is from ~12 years ago, in 8b5bd77415fb6634fadf08357676926fecf5f032). For now, it's probably better to remove the unused code/correct the docs. | ||
| 8e6090d0 | 2021-03-23 09:52:14 | build: use AC_CHECK_LIB over AC_HAVE_LIBRARY AC_HAVE_LIBRARY is deprecated, see https://www.gnu.org/software/autoconf/manual/autoconf-2.70/html_node/Obsolete-Macros.html, and has been prior to Autoconf 2.67, which is the minimum required by the project. It's usage also causes warnings with newer versions of autoconf: ```bash configure.ac:319: warning: The macro `AC_HAVE_LIBRARY' is obsolete. configure.ac:319: You should run autoupdate. ``` `AC_HAVE_LIBRARY` was introduced in #969, although it's not clear why it was decided to revert to using an obselete macro. | ||
| 972289f3 | 2020-08-29 01:15:20 | Detect existence of pthread_mutexattr_setprotocol() Fixes: #1084 | ||
| 028385f6 | 2020-05-28 17:14:46 | fix build system and add test and cleanup code | ||
| 97a899d9 | 2020-07-07 13:58:47 | build: remove -Wstrict-aliasing as strict-aliasing is disabled Note that -Wstrict-aliasing is also include in -Wall. | ||
| 28e31050 | 2020-07-03 16:02:09 | build: move automake options into AM_INIT_AUTOMAKE call | ||
| 0a537b25 | 2020-07-03 15:47:10 | build: remove commented code from configure.ac | ||
| 0ea7f707 | 2020-06-26 14:33:43 | build: use feature detection when adding compile flags Rather than trying to detect (potentially very old) GCC versions, just test whether the flag works with the compiler, and add it to CLFAGS if so. -Werror is used to convert unknown flag warnings into errors, and prevent their addition to CLFAGS. | ||
| b6497fa1 | 2020-07-04 15:55:22 | build: do not disable deprecation warnings on macOS this was for using openssl-0.9.8 included in macOS 10.7 - 10.12, but it is long since time you really should not use that openssl | ||
| e05ee6d3 | 2020-06-28 18:40:26 | build: consolidate darwin compile flag additions in configure This is mostly move-only, apart from some changes to comments. | ||
| 8ac10b6b | 2020-06-28 18:30:54 | build: consistently use dnl for comments in configure.ac | ||
| ff4ec5fd | 2020-06-26 14:35:41 | build: remove duplicate -Wredundant-decls | ||
| 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 | ||
| 6d54be2c | 2020-03-14 11:13:38 | autoconf: fix getaddrinfo checking errors on mingw `AC_CHECK_FUNCS` can not properly check `getaddrinfo` because this function requires some special headers on mingw. Using `AC_CHECK_DECL` can effectively solve this issue. Same for - getnameinfo - getprotobynumber - getservbyname - inet_ntop - inet_pton | ||
| b1e46c32 | 2020-01-13 00:33:39 | test: put thread into real time scheduling class on osx for better latencies | ||
| b9b9f190 | 2019-10-16 01:11:51 | Do not use sysctl.h on linux (it had been deprecated) It had been deprecated for a long time (AFAIK), but since glibc-2.29.9000-309-g744e829637 it produces a #warning | ||
| 148d12ad | 2019-09-19 15:24:51 | evutil_time: detect and use _gmtime64_s()/_gmtime64() | ||
| 86f55b04 | 2019-09-03 00:34:35 | arc4random: replace sysctl() with getrandom (on linux) Since sysctl() is deprecated for a long-long time, according to sysctl(2): Since Linux 2.6.24, uses of this system call result in warnings in the kernel log. Fixes: #890 Suggested-by: Pierce Lopez | ||
| 13b8fc39 | 2019-08-30 10:21:07 | Upgrade autoconf (after upgrading minimum required to 2.67) - AC_PROG_SED - AC_USE_SYSTEM_EXTENSIONS - AC_TRY_COMPILE -> AC_COMPILE_IFELSE - AC_TRY_RUN -> AC_RUN_IFELSE ... Also use: - AC_CONFIG_AUX_DIR Refs: #870 Fixes: 3f09e923 ("Change the minimum version of automake to 1.13 and autoconf to 2.67") | ||
| f9c6a14e | 2019-08-23 22:31:28 | autotools: attach doxygen target into all target v2: disable man pages by default | ||
| 3f09e923 | 2019-08-08 21:48:21 | Change the minimum version of automake to 1.13 and autoconf to 2.67 When I run make check via automake with a version of 1.12.6 or lower, I got this error: /bin/sh: line 9: ./test_runner_epoll: No such file or directory FAIL: test_runner_epoll /bin/sh: line 9: ./test_runner_select: No such file or directory FAIL: test_runner_select /bin/sh: line 9: ./test_runner_kqueue: No such file or directory FAIL: test_runner_kqueue /bin/sh: line 9: ./test_runner_evport: No such file or directory FAIL: test_runner_evport /bin/sh: line 9: ./test_runner_devpoll: No such file or directory FAIL: test_runner_devpoll /bin/sh: line 9: ./test_runner_poll: No such file or directory FAIL: test_runner_poll /bin/sh: line 9: ./test_runner_win32: No such file or directory FAIL: test_runner_win32 /bin/sh: line 9: ./test_runner_timerfd: No such file or directory FAIL: test_runner_timerfd /bin/sh: line 9: ./test_runner_changelist: No such file or directory FAIL: test_runner_changelist /bin/sh: line 9: ./test_runner_timerfd_changelist: No such file or directory FAIL: test_runner_timerfd_changelist Open the Makefile generated by command ./autogen.sh && ./configure I can see the errors are caused by this line: if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then $${dir}$$tst will expand to ./test_runner_epoll, but test_runner_epoll is only a target in test/include.am, not a file, so it print: /bin/sh: line 9: ./test_runner_epoll: No such file or directory. It seems like a bug in automake 1.12.6. The errors will disappear if I simply upgrade automake to 1.13, and upgrade autoconf to 2.65 (2.65 is the lowest version dependent by automake-1.13). When I build with automake-1.13 and autoconf-2.66, I got another error: configure.ac:667: error: AC_CHECK_SIZEOF: requires literal arguments The code in configure.ac line 667 is : AC_CHECK_SIZEOF(void *) It is a bug in autoconf-2.66 : http://gnu-autoconf.7623.n7.nabble.com/AC-CHECK-SIZEOF-int-is-error-in-autoconf-2-66-td13537.html Finally, everything works fine when using automake-1.13 and autoconf-2.67. Refs: #858 | ||
| 1947dd0d | 2019-07-27 22:41:39 | Change autoconf version to 2.62 and automake version to 1.11.2 On my computer, the version of autoconf is 2.59 and automake is 1.9 I build with autogen.sh & configure & make and failed. I find In Makefile.am: include/event2/event-config.h: config.h make-event-config.sed $(AM_V_GEN)test -d include/event2 || $(MKDIR_P) include/event2 $(AM_V_at)$(SED) -f $(srcdir)/make-event-config.sed < config.h > $@T $(AM_V_at)mv -f $@T $@ There are three undefined variables: MKDIR_P, AM_V_GEN and AM_V_at. Then I tried: - autoconf-2.60 / automake-1.10 - autoconf-2.61 / automake-1.11 - autoconf-2.62 / automake-1.11.2 And only autoconf-2.62 & automake-1.11.2 is ok. Therefore, I recommend changing the autoconf version from 2.59 to 2.62 and automake version from 1.9 to 1.11.2. Plus autoconf 2.59 is too old - 2003.12.16 [1], so as automake 1.9 - 2004.08.11 [2], while $(AM_V_GEN)/$(AM_V_at) had been introduced in 371a1237 back in 2012. [1]: http://ftp.gnu.org/gnu/autoconf/ [1]: http://ftp.gnu.org/gnu/automake/ Fixes: 371a1237 ("Make quiet build even quieter") | ||
| da112175 | 2019-05-12 16:12:06 | build: struct sockaddr_un detection (sys/un.h, afunix.h) - On UNIX: sys/un.h - Since win10: afunix.h And windows has AF_UNIX but do not have sockaddr_un (before windows build 17061 [1]), hence the sockaddr_un detection. [1]: https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/ | ||
| d5b24cc0 | 2019-03-05 21:34:31 | sample/becat: bufferevent cat, ncat/nc/telnet analog | ||
| 91dad75f | 2019-02-28 17:47:51 | Fix typos: warnigns -> warnings Signed-off-by: Enji Cooper <yaneurabeya@gmail.com> | ||
| 5f87be42 | 2019-02-25 11:59:15 | Define `_GNU_SOURCE` properly/consistently per autoconf Although `_GNU_SOURCE` can be defined as an arbitrary #define per the glibc docs [1], it's best to define it in a manner consistent with the way that autoconf defines it, i.e., `1`. While this shouldn't matter in most cases, it does when the headers from other projects follow the poorly defined GNU convention implemented by autoconf and are included after the libevent's util.h header. An example failure with clang, similar to the failure I encountered, is as follows: ``` $ printf "#define _GNU_SOURCE\n#define _GNU_SOURCE 1" | clang -c -x c - <stdin>:2:9: warning: '_GNU_SOURCE' macro redefined [-Wmacro-redefined] ^ <stdin>:1:9: note: previous definition is here ^ 1 warning generated. ``` This happened when compiling python [2] with a stale homebrew util.h file from libevent (which admittedly would not happen in a correct libevent install, as the header should be installed under /usr/local/include/event2/util.h). However, if both headers had been combined (which is more likely), it would have failed as shown above. Removing the ad hoc definition unbreaks compiling python's pyconfig.h.in header when included after util.h from libevent. 1. http://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html 2. https://github.com/python/cpython/blob/master/configure.ac#L126 Closes: #773 (cherry-picked) Signed-off-by: Enji Cooper <yaneurabeya@gmail.com> | ||
| 006c528a | 2018-10-27 16:49:39 | autotools: do not add warnings that is included into -Wall already Plus remove duplicates | ||
| e85818d2 | 2018-06-19 10:15:08 | Cleanup __func__ detection First of all __func__ is not a macro, it is char[] array, so the code that we had before in cmake, was incorrect, i.e.: #if defined (__func__) #define EVENT____func__ __func__ #elif defined(__FUNCTION__) #define EVENT____func__ __FUNCTION__ #else #define EVENT____func__ __FILE__ #endif So just detect do we have __func__/__FUNCTION__ in configure/cmake before build and define EVENT__HAVE___func__/EVENT__HAVE___FUNCTION__ to use the later to choose which should be used as a __func__ (if it is not presented). Closes: #644 | ||
| 4728ffed | 2018-08-01 00:58:02 | autotools: include win32 specific headers for socklen_t detection on win32/mingw The [1] removes EVENT__ prefix, and now if we will incorrectly detect that "foobar" (or socklen_t in our case) type is not available, but somewhere later it will be available then we will get next error [2]: error: two or more data types in declaration specifiers According to [3]: - Compile something in Cygwin and you are compiling it for Cygwin. - Compile something in MinGW and you are compiling it for Windows. And I can confirm this, since there is _WIN32 defined (according to [4]) And since according to [5] our image in appveyour (Visual Studion 2015) has mingw (and we use it, not cygwin) we need ws2tcpip.h (over sys/socket.h -- which does not exist in win32) header to detect socklen_t existence. [1]: 587e9f5828c4eb3c6e79e9eb29f174e4ae0c05bd ("config.h can't be prefixed unconditionally") [2]: https://ci.appveyor.com/project/nmathewson/libevent/build/job/yonukoc5q3tr3e5e#L372 [3]: https://stackoverflow.com/questions/771756/what-is-the-difference-between-cygwin-and-mingw [4]: https://www.appveyor.com/docs/build-environment/#mingw-msys-cygwin [5]: https://ci.appveyor.com/project/nmathewson/libevent/build/job/yonukoc5q3tr3e5e#L164 Fixes: #649 | ||
| 1dfec8a9 | 2017-08-19 16:01:46 | configure: avoid false positive in DragonFlyBSD by default, the max buffer size is 16K and histeresis is at 50%, so a bigger read is needed to unlock writes than you would expect from other BSD (512 bytes) this doesn't introduce any regression on FreeBSD 11.1, OpenBSD 6.1, NetBSD 7.1, macOS 10.12.6 and of course DragonFlyBSD 4.8.1, and most of them show a max pipe size of 64K, so the read call should drain them all regardless of how conservative they are on the free pipe space they will require (usually 512 bytes) before kevent reports the fd as ready for write. I couldn't find a reference to which bug this code was trying to look for and it seems to be there from the beginning of git history so it might be no longer relevant. Issue: #548 | ||
| 63c4bf78 | 2017-09-01 15:50:36 | test: fix 32bit linux regress | ||
| 94e5cc84 | 2017-08-15 05:11:05 | Add configure check for midipix Fixes: #540 | ||
| 6541168d | 2017-03-06 00:55:16 | Detect arch4random_addrandom() existence Refs: #370 Refs: #475 | ||
| 66a4eb0c | 2017-03-06 00:05:50 | Check for WNOWAIT in waitpid() in runtime (not in cmake/configure) Because checking in cmake breaks cross-compiling. Introduced-in: 43eb56c7c738e3642f0981e3dd6ab9e082eec798. Fixes: #482 Fixes: #462 Refs: #475 v2: use waitid() with WNOWAIT v3: use WNOWAIT only if it available in waitpid(), because not all netbsd supports it | ||
| 5d18d879 | 2017-03-02 21:09:32 | Do not check for ERR_remove_thread_state() (do not link ssl into every library) This reverts commit c4e9d9bd662de7f575f2172c160795d452ebe709 ("sample/https-client: check for ERR_remove_thread_state() existence"). Calling AC_SEARCH_LIBS() modifies LIBS - -lcrypto incorrectly ends up in LIBS, and thus linked to by libevent_core.so. Checking for ERR_remove_thread_state should no longer be needed because it was introduced in openssl 1.0.0, and the previous line 0.9.8 had support discontinued at the end of 2015. Fixes: #473 | ||
| d9118c8d | 2017-01-28 16:17:07 | test/bench_httpclient: restore SO_LINGER usage after 0dda56a48e94 | ||
| efcfa046 | 2017-01-29 18:13:07 | Bump version in master to 2.2.0-alpha-dev And according to f8d80a285cf941505277d9060d0357b5b7e543d2 ("Bump version to 2.1.3-alpha-dev") numeric version have 1 at the end, since it means "-dev". | ||
| 9b63b5d4 | 2017-01-22 18:21:57 | Bump version to 2.1.8-stable everywhere P.S. in referenced commit I made a mistake and instead of *-rc* I wrote *-beta*. See-also: f4489b8323cda0bf8eed7c1353911a852d7a947c ("Bump version to 2.1.7-beta everywhere") | ||
| a7513cc9 | 2017-01-15 12:31:27 | automake: do not use serial-tests if parallel-test-harness available Revert: 61179dec7716975a151c6dae4524ae504d05780e ("automake: define serial-tests only if automake have this option") Revert: Revert: 44d755e00e249c09914cf35089c16735df82e270 ("test/automake: don't use paralell test harness (since automake 1.12)") | ||
| f4489b83 | 2016-11-02 00:31:31 | Bump version to 2.1.7-beta everywhere - cmake basic - cmake detecting from git -- event_fuzzy_version_from_git() - autotools - win32 - appveyor | ||
| adc402ba | 2016-09-29 18:31:53 | Adding option to ignore clock_gettime: --disable-clock-gettime macOS 10.12 introduced `clock_gettime` to libsystem. This means, built on OS X 10.12 application would crash on earlier versions of OS X because it will try to call clock_gettime. This options is useful to make backwards compatible macOS apps. Fixes: #398 Fixes: #399 Fixes: #400 | ||
| 51019e94 | 2016-07-13 17:40:48 | Bump version to 2.1.6-beta everywhere - cmake basic - cmake detecting from git -- event_fuzzy_version_from_git() - autotools - win32 - appveyor | ||
| 43eb56c7 | 2016-08-11 16:15:45 | tests: use waitpid(..., WNOWAIT) to fix failing of main/fork under solaris According to solaris docs: "One instance of a SIGCHLD signal is queued for each child process whose status has changed. If waitpid() returns because the status of a child process is available, and WNOWAIT was not specified in options, any pending SIGCHLD signal associated with the process ID of that child process is discarded. Any other pending SIGCHLD signals remain pending." And interesting thing that it works if you add sleep(1) before waitpid(), and also if you run with --verbose (some race or what). But linux doesn't support WNOWAIT in waitpid() so add detection into cmake/autotools. Fixes: #387 Link: https://bugzilla.redhat.com/show_bug.cgi?id=840782 | ||
| 671a24f2 | 2016-08-08 18:10:56 | autotools/win32: fix searching ssl library | ||
| 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 | ||
| 30316177 | 2016-06-28 10:37:24 | [#372] check for errno.h | ||
| b5ca3656 | 2016-05-30 16:53:41 | For non GCC/clang on OSX the -Wno-deprecated-declarations may not be valid Closes: nmathewson/Libevent#129 | ||
| 61179dec | 2016-05-11 16:02:02 | automake: define serial-tests only if automake have this option P.S. I did try a lot of other ways, but seems that this is the only one that will work. Fixes: automake 1.11 Travis-CI: https://travis-ci.org/azat/libevent/jobs/129398265 | ||
| b8d7c621 | 2016-04-20 07:31:25 | libevent_core and libevent_extra also deserve a pkgconfig file | ||
| f29f59e8 | 2016-03-10 00:25:09 | Replace -Wswitch-enum with -Wswitch, and add it into cmake rules too According to https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html: -Wswitch-enum Warn whenever a switch statement has an index of enumerated type and lacks a case for one or more of the named codes of that enumeration. case labels outside the enumeration range also provoke warnings when this option is used. The only difference between -Wswitch and this option is that this option gives a warning about an omitted enumeration code even if there is a *default label*. | ||
| 959a4c20 | 2015-11-25 17:47:42 | autotools: fix getservbyname() detection The mentioned commit adds this check under-the-else of the previous condition between getaddrinfo()/gethostbyname_r(), so this check is triggered only when we don't have getaddrinfo() which is wrong, fix this by move it upper. Fixes [CI] since it uses getservbyname() and it failed with autotools only (cmake detection is ok). CI: https://travis-ci.org/libevent/libevent/builds/93125954 Fixes: af08a94085e49e6942835b4c6b50a774536d5b5b ("Check for getservbyname even if not on win32.") | ||
| c4e9d9bd | 2015-11-23 18:44:03 | sample/https-client: check for ERR_remove_thread_state() existence Fixes: freebsd 9.2 build | ||
| 683f5568 | 2015-01-05 09:16:12 | Increment version to 2.1.5-beta | ||
| 0c492b33 | 2014-06-13 17:07:50 | add a --disable-samples configure flag For people building & installing libevent in a distro, building all these sample apps are not useful. Add a flag to turn them off. | ||
| de268feb | 2014-03-21 13:20:34 | Increment version to 2.1.4-alpha-dev | ||
| d08273ec | 2014-03-16 12:09:24 | Increment version to 2.1.4-alpha | ||
| cbfa8da1 | 2014-03-03 11:23:55 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| b56611d7 | 2014-02-19 06:49:31 | Add -Qunused-arguments for clang on macos The clang compiler provided with macosx emits warnings like: CC bufferevent.lo clang: warning: argument unused during compilation: '-I .' clang: warning: argument unused during compilation: '-I ./compat' clang: warning: argument unused during compilation: '-I ./include' clang: warning: argument unused during compilation: '-I ./include' for each file being compiled. This generates a lot of noise during compilation making it hard to see "real" errors. This patch mute those warnings. | ||
| f665d5cb | 2014-02-24 10:32:00 | Stop checking for inet_aton; we don't use it. We had cmake and autoconf tests for the inet_aton function... but we never actually use it any more. (The autoconf tests still use the callability of inet_aton to decide whether we need to link against -lresolv) Reported by Harlan Stenn. | ||
| f8d80a28 | 2013-05-01 23:12:08 | Bump version to 2.1.3-alpha-dev |