This commit is contained in:
Cœur 2024-04-30 15:59:58 +08:00 committed by GitHub
parent 64decd48e2
commit eec47a6710
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
27 changed files with 48 additions and 48 deletions

View File

@ -40,9 +40,9 @@ Changes in version 2.2.1-alpha (21 May 2023)
- linux - linux
- freebsd - freebsd
- windows - windows
- osx - macos
- openbsd - openbsd
- and also tests under Thread/Address/Undefind sanitizers - and also tests under Thread/Address/Undefined sanitizers
Now documentation is automatically deployed to https://libevent.org/doc/ Now documentation is automatically deployed to https://libevent.org/doc/
@ -106,7 +106,7 @@ Changes in version 2.2.1-alpha (21 May 2023)
o Fix crashing http server when callback do not reply in place from *gencb* (306747e5 Azat Khuzhin) o Fix crashing http server when callback do not reply in place from *gencb* (306747e5 Azat Khuzhin)
o CONNECT method only takes an authority (65eb529a Greg Hazel) o CONNECT method only takes an authority (65eb529a Greg Hazel)
o http: fix leaks in evhttp_uriencode() (61c21492 Azat Khuzhin) o http: fix leaks in evhttp_uriencode() (61c21492 Azat Khuzhin)
o Fix evhttp_connection_get_addr() fox incomming http connections (367cd9e5 Greg Hazel, e4edc7fc Azat Khuzhin) o Fix evhttp_connection_get_addr() for incoming http connections (367cd9e5 Greg Hazel, e4edc7fc Azat Khuzhin)
o Improve request line parsing (0ec12bc8 Azat Khuzhin) o Improve request line parsing (0ec12bc8 Azat Khuzhin)
o Fix conceivable UAF of the bufferevent in evhttp_connection_free() (5dc88b38 Azat Khuzhin) o Fix conceivable UAF of the bufferevent in evhttp_connection_free() (5dc88b38 Azat Khuzhin)
o http: fix connection retries when there more then one request for connection (f3f7aa5a Azat Khuzhin) o http: fix connection retries when there more then one request for connection (f3f7aa5a Azat Khuzhin)
@ -158,7 +158,7 @@ Changes in version 2.2.1-alpha (21 May 2023)
o evwatch: Add "prepare" and "check" watchers. (#793) (2f184f8b, 1cd8830d Dan Rosen) o evwatch: Add "prepare" and "check" watchers. (#793) (2f184f8b, 1cd8830d Dan Rosen)
o evutil: implement socketpair with unix domain socket on Win10 (#913) (dda8968c, 1ba94bdf yuangongji) o evutil: implement socketpair with unix domain socket on Win10 (#913) (dda8968c, 1ba94bdf yuangongji)
o Add support for priority inheritance (#934) (f76456b0 Andre Pereira Azevedo Pinto, 972289f3 Azat Khuzhin) o Add support for priority inheritance (#934) (f76456b0 Andre Pereira Azevedo Pinto, 972289f3 Azat Khuzhin)
o evutil_time: Implements usleep() using wait funtion on Windows (#939) (6412f34f yuangongji) o evutil_time: Implements usleep() using wait function on Windows (#939) (6412f34f yuangongji)
o Add EVENT_BASE_FLAG_EPOLL_DISALLOW_TIMERFD flag (fixes: #958) (9a9b92ed Azat Khuzhin) o Add EVENT_BASE_FLAG_EPOLL_DISALLOW_TIMERFD flag (fixes: #958) (9a9b92ed Azat Khuzhin)
o evutil_time: improve evutil_gettimeofday on Windows (#1003) (f0b3160f Nick Grifka) o evutil_time: improve evutil_gettimeofday on Windows (#1003) (f0b3160f Nick Grifka)
o Support EV_CLOSED on linux for poll(2) (4c13afae Azat Khuzhin) o Support EV_CLOSED on linux for poll(2) (4c13afae Azat Khuzhin)
@ -256,7 +256,7 @@ Changes in version 2.2.1-alpha (21 May 2023)
o test: fix 32bit linux regress (#554) (63c4bf78 Carlo Marcelo Arenas Belón) o test: fix 32bit linux regress (#554) (63c4bf78 Carlo Marcelo Arenas Belón)
o test: avoid regress hanging in macOS (#757) (a86f89d3 Carlo Marcelo Arenas Belón) o test: avoid regress hanging in macOS (#757) (a86f89d3 Carlo Marcelo Arenas Belón)
o Avoid possible SEGVs in select() (in unit tests) (33baa4e5 Philip Prindeville) o Avoid possible SEGVs in select() (in unit tests) (33baa4e5 Philip Prindeville)
o Intorduce TT_RETRIABLE (4d2f013b Azat Khuzhin) o Introduce TT_RETRIABLE (4d2f013b Azat Khuzhin)
o test-ratelim: calculate timers bias (for slow CPUs) to avoid false-positive (8a348699 Azat Khuzhin) o test-ratelim: calculate timers bias (for slow CPUs) to avoid false-positive (8a348699 Azat Khuzhin)
o Merge branch 'osx-clock' (a6f81aa4 Azat Khuzhin) o Merge branch 'osx-clock' (a6f81aa4 Azat Khuzhin)
o Fix some OpenSSL 3 test issues (#1291) (29032da6 Peter Edwards) o Fix some OpenSSL 3 test issues (#1291) (29032da6 Peter Edwards)

View File

@ -152,7 +152,7 @@ Changes in 1.4.2-rc:
o remove NDEBUG ifdefs from evdns.c o remove NDEBUG ifdefs from evdns.c
o update documentation of event_loop and event_base_loop; from Tani Hosokawa. o update documentation of event_loop and event_base_loop; from Tani Hosokawa.
o detect integer types properly on platforms without stdint.h o detect integer types properly on platforms without stdint.h
o Remove "AM_MAINTAINER_MODE" declaration in configure.in: now makefiles and configure should get re-generated automatically when Makefile.am or configure.in chanes. o Remove "AM_MAINTAINER_MODE" declaration in configure.in: now makefiles and configure should get re-generated automatically when Makefile.am or configure.in changes.
o do not insert event into list when evsel->add fails o do not insert event into list when evsel->add fails
Changes in 1.4.1-beta: Changes in 1.4.1-beta:
@ -163,7 +163,7 @@ Changes in 1.4.1-beta:
o better documentation for event_base_loopexit; from Scott Lamb. o better documentation for event_base_loopexit; from Scott Lamb.
o Make kqueue have the same behavior as other backends when a signal is caught between event_add() and event_loop(). Previously, it would catch and ignore such signals. o Make kqueue have the same behavior as other backends when a signal is caught between event_add() and event_loop(). Previously, it would catch and ignore such signals.
o Make kqueue restore signal handlers correctly when event_del() is called. o Make kqueue restore signal handlers correctly when event_del() is called.
o provide event_reinit() to reintialize an event_base after fork o provide event_reinit() to reinitialize an event_base after fork
o small improvements to evhttp documentation o small improvements to evhttp documentation
o always generate Date and Content-Length headers for HTTP/1.1 replies o always generate Date and Content-Length headers for HTTP/1.1 replies
o set the correct event base for HTTP close events o set the correct event base for HTTP close events

View File

@ -263,7 +263,7 @@ Changes in version 2.0.12-stable (4 Jun 2011)
BUGFIXES BUGFIXES
o Fix a warn-and-fail bug in kqueue by providing kevent() room to report errors (28317a0) o Fix a warn-and-fail bug in kqueue by providing kevent() room to report errors (28317a0)
o Fix an assert-inducing fencepost bug in the select backend (d90149d) o Fix an assert-inducing fencepost bug in the select backend (d90149d)
o Fix failing http assertion introducd in commit 0d6622e (0848814 Kevin Ko) o Fix failing http assertion introduced in commit 0d6622e (0848814 Kevin Ko)
o Fix a bug that prevented us from configuring IPv6 nameservers. (74760f1) o Fix a bug that prevented us from configuring IPv6 nameservers. (74760f1)
o Prevent size_t overflow in evhttp_htmlescape. (06c51cd Mansour Moufid) o Prevent size_t overflow in evhttp_htmlescape. (06c51cd Mansour Moufid)
o Added several checks for under/overflow conditions in evhttp_handle_chunked_read (a279272 Mark Ellzey) o Added several checks for under/overflow conditions in evhttp_handle_chunked_read (a279272 Mark Ellzey)
@ -986,7 +986,7 @@ BUILD AND DISTRIBUTION CHANGES
INTERNALS AND CODE CLEANUPS INTERNALS AND CODE CLEANUPS
o Add a .gitignore file. (ba34071) o Add a .gitignore file. (ba34071)
o New EVTHREAD_TRY_LOCK function to try to grab a lock. (689fc09) o New EVTHREAD_TRY_LOCK function to try to grab a lock. (689fc09)
o Add the abilitity to mark some buffer callbacks as never-deferred. (438f9ed) o Add the ability to mark some buffer callbacks as never-deferred. (438f9ed)
o Refactor our 'suspend operation' logic on bufferevents. (0d744aa) o Refactor our 'suspend operation' logic on bufferevents. (0d744aa)
o Simplify the read high-watermark checking. (5846bf6) o Simplify the read high-watermark checking. (5846bf6)
o Improve readability of evutil_unparse_protoname() (5a43df8 Jardel Weyrich) o Improve readability of evutil_unparse_protoname() (5a43df8 Jardel Weyrich)
@ -994,7 +994,7 @@ INTERNALS AND CODE CLEANUPS
o Whitespace fixes in test.sh (0b151a9) o Whitespace fixes in test.sh (0b151a9)
o Enable branch-prediction hints with EVUTIL_UNLIKELY. (eaaf27f) o Enable branch-prediction hints with EVUTIL_UNLIKELY. (eaaf27f)
o Refactor code from evdns into a new internal "read a file" function. (0f7144f) o Refactor code from evdns into a new internal "read a file" function. (0f7144f)
o Comestic changes in evconnlistener_new(), new_accepting_socket(), accepted_socket_invoke_user_cb() and iocp_listener_enable(). (510ab6b Jardel Weyrich) o Cosmetic changes in evconnlistener_new(), new_accepting_socket(), accepted_socket_invoke_user_cb() and iocp_listener_enable(). (510ab6b Jardel Weyrich)
o Add unit-test for bad_request bug fixed in 1.4 recently. (6cc79c6 Pavel Plesov) o Add a comment on evthread_enable_lock_debuging. (b9f43b2) o Add unit-test for bad_request bug fixed in 1.4 recently. (6cc79c6 Pavel Plesov) o Add a comment on evthread_enable_lock_debuging. (b9f43b2)
o Fix test.sh on shells without echo -n (94131e9) o Fix test.sh on shells without echo -n (94131e9)
o More unit tests for getaddrinfo_async: v4timeout and cancel. (a334b31) o More unit tests for getaddrinfo_async: v4timeout and cancel. (a334b31)
@ -1082,7 +1082,7 @@ Changes in 2.0.2-alpha (25 Jul 2009):
o Add a new flag to bufferevents to make all callbacks automatically deferred. o Add a new flag to bufferevents to make all callbacks automatically deferred.
o Make evdns functionality locked, and automatically defer dns callbacks. o Make evdns functionality locked, and automatically defer dns callbacks.
o Fix a possible free(NULL) when freeing an event_base with no signals. o Fix a possible free(NULL) when freeing an event_base with no signals.
o Add a flag to disable checking environment varibles when making an event_base o Add a flag to disable checking environment variables when making an event_base
o Disallow setting less than 1 priority. o Disallow setting less than 1 priority.
o Fix a bug when removing a timeout from the heap. [Patch from Marko Kreen] o Fix a bug when removing a timeout from the heap. [Patch from Marko Kreen]
o Use signal.h, not sys/signal.h. [Patch from mmadia] o Use signal.h, not sys/signal.h. [Patch from mmadia]

View File

@ -42,7 +42,7 @@ Changes in version 2.1.7-rc (2 Novemer 2016)
and plus Vagrantfile for testing under multiple OS'es. and plus Vagrantfile for testing under multiple OS'es.
Continious Integration: Continuous Integration:
o Use coveralls.io via travis (9ac000c Azat Khuzhin) o Use coveralls.io via travis (9ac000c Azat Khuzhin)
o travis-ci: use container-based infrastructure (7e12e96 Azat Khuzhin) o travis-ci: use container-based infrastructure (7e12e96 Azat Khuzhin)
o travis-ci/osx: fix compiling/linking openssl libraries (9d2f8d4 Azat Khuzhin) o travis-ci/osx: fix compiling/linking openssl libraries (9d2f8d4 Azat Khuzhin)
@ -361,7 +361,7 @@ Changes in version 2.1.6-beta (4 July 2016)
o be: include all variations of headers for sockaddr_in6 struct (c212291 Azat Khuzhin) o be: include all variations of headers for sockaddr_in6 struct (c212291 Azat Khuzhin)
o be: fix sockaddr_in6 type definition for win32 (c42bc6b Azat Khuzhin) o be: fix sockaddr_in6 type definition for win32 (c42bc6b Azat Khuzhin)
Continious Integration: Continuous Integration:
o travis: split long lines, and make it cleaner (685a6a1 Azat Khuzhin) o travis: split long lines, and make it cleaner (685a6a1 Azat Khuzhin)
o travis: fix autotools on osx by reinstalling libtool (088ea5e Azat Khuzhin) o travis: fix autotools on osx by reinstalling libtool (088ea5e Azat Khuzhin)
o appveyor/autotools: link with openssl by passing LDFLAGS/CFLAGS (6fcfa25 Azat Khuzhin) o appveyor/autotools: link with openssl by passing LDFLAGS/CFLAGS (6fcfa25 Azat Khuzhin)
@ -820,7 +820,7 @@ Changes in version 2.1.3-alpha (1 May 2013)
o Remove bufferevent_del_generic_timeout_cbs as now unused (4ea4c6a) o Remove bufferevent_del_generic_timeout_cbs as now unused (4ea4c6a)
o More documentation for finalization feature (a800b91) o More documentation for finalization feature (a800b91)
o Make the event_finalize* functions return an error code (5d11f4f) o Make the event_finalize* functions return an error code (5d11f4f)
o Mark the finalize stuff as experiemental in case it needs to o Mark the finalize stuff as experimental in case it needs to
change (23e2e29) change (23e2e29)
Evdns Evdns
@ -1379,7 +1379,7 @@ Changes in version 2.0.12-stable (4 Jun 2011)
BUGFIXES BUGFIXES
o Fix a warn-and-fail bug in kqueue by providing kevent() room to report errors (28317a0) o Fix a warn-and-fail bug in kqueue by providing kevent() room to report errors (28317a0)
o Fix an assert-inducing fencepost bug in the select backend (d90149d) o Fix an assert-inducing fencepost bug in the select backend (d90149d)
o Fix failing http assertion introducd in commit 0d6622e (0848814 Kevin Ko) o Fix failing http assertion introduced in commit 0d6622e (0848814 Kevin Ko)
o Fix a bug that prevented us from configuring IPv6 nameservers. (74760f1) o Fix a bug that prevented us from configuring IPv6 nameservers. (74760f1)
o Prevent size_t overflow in evhttp_htmlescape. (06c51cd Mansour Moufid) o Prevent size_t overflow in evhttp_htmlescape. (06c51cd Mansour Moufid)
o Added several checks for under/overflow conditions in evhttp_handle_chunked_read (a279272 Mark Ellzey) o Added several checks for under/overflow conditions in evhttp_handle_chunked_read (a279272 Mark Ellzey)

View File

@ -82,7 +82,7 @@ struct bufferevent_filtered {
/** The bufferevent that we read/write filtered data from/to. */ /** The bufferevent that we read/write filtered data from/to. */
struct bufferevent *underlying; struct bufferevent *underlying;
/** A callback on our inbuf to notice somebory removes data */ /** A callback on our inbuf to notice somebody removes data */
struct evbuffer_cb_entry *inbuf_cb; struct evbuffer_cb_entry *inbuf_cb;
/** A callback on our outbuf to notice when somebody adds data */ /** A callback on our outbuf to notice when somebody adds data */
struct evbuffer_cb_entry *outbuf_cb; struct evbuffer_cb_entry *outbuf_cb;

View File

@ -287,7 +287,7 @@ be_pair_destruct(struct bufferevent *bev)
* bufferevent_free(bev1) # refcnt == 0 -> unlink * bufferevent_free(bev1) # refcnt == 0 -> unlink
* bufferevent_free(bev2) # refcnt == 0 -> unlink * bufferevent_free(bev2) # refcnt == 0 -> unlink
* *
* event_base_free() -> finilizers -> EVTHREAD_FREE_LOCK(bev1->lock) * event_base_free() -> finalizers -> EVTHREAD_FREE_LOCK(bev1->lock)
* -> BEV_LOCK(bev2->lock) <-- already freed * -> BEV_LOCK(bev2->lock) <-- already freed
* *
* Where bev1 == pair[0], bev2 == pair[1]. * Where bev1 == pair[0], bev2 == pair[1].

View File

@ -19,7 +19,7 @@ GET_FILENAME_COMPONENT(_selfdir_CheckFileOffsetBits
MACRO (CHECK_FILE_OFFSET_BITS) MACRO (CHECK_FILE_OFFSET_BITS)
IF(NOT DEFINED _FILE_OFFSET_BITS) IF(NOT DEFINED _FILE_OFFSET_BITS)
MESSAGE(STATUS "Cheking _FILE_OFFSET_BITS for large files") MESSAGE(STATUS "Checking _FILE_OFFSET_BITS for large files")
TRY_COMPILE(__WITHOUT_FILE_OFFSET_BITS_64 TRY_COMPILE(__WITHOUT_FILE_OFFSET_BITS_64
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${_selfdir_CheckFileOffsetBits}/CheckFileOffsetBits.c ${_selfdir_CheckFileOffsetBits}/CheckFileOffsetBits.c

View File

@ -14,7 +14,7 @@
# #
# When you try to locate the libevent libraries, you should specify which components you want to use. # When you try to locate the libevent libraries, you should specify which components you want to use.
# The following table lists all available components. If none is given, all imported targets will used. # The following table lists all available components. If none is given, all imported targets will used.
# core - the core functons of libevent # core - the core functions of libevent
# extra - extra functions, contains http, dns and rpc # extra - extra functions, contains http, dns and rpc
# pthreads - multiple threads for libevent, does not exist on Windows # pthreads - multiple threads for libevent, does not exist on Windows
# openssl - OpenSSL support for libevent # openssl - OpenSSL support for libevent

View File

@ -1,6 +1,6 @@
# This module defines the following variables utilizing # This module defines the following variables utilizing
# git to determine the parent tag. And if found the macro # git to determine the parent tag. And if found the macro
# will attempt to parse them in the github tag fomat # will attempt to parse them in the github tag format
# #
# Useful for auto-versioning in our CMakeLists # Useful for auto-versioning in our CMakeLists
# #

View File

@ -772,7 +772,7 @@ if test "$enable_gcc_warnings" != "no" && test "$GCC" = "yes"; then
dnl Disable unknown pragmas warnings. dnl Disable unknown pragmas warnings.
AX_CHECK_COMPILE_FLAG([-Wno-pragmas], [CFLAGS="$CFLAGS -Wno-pragmas"],[],[-Werror]) AX_CHECK_COMPILE_FLAG([-Wno-pragmas], [CFLAGS="$CFLAGS -Wno-pragmas"],[],[-Werror])
dnl Disable Variable Lenght Array dnl Disable Variable Length Array
AX_CHECK_COMPILE_FLAG([-Wvla], [CFLAGS="$CFLAGS -Wvla"],[],[-Werror]) AX_CHECK_COMPILE_FLAG([-Wvla], [CFLAGS="$CFLAGS -Wvla"],[],[-Werror])
if test "$have_clang" = "yes"; then if test "$have_clang" = "yes"; then
@ -882,7 +882,7 @@ AM_CONDITIONAL([ENABLE_DOXYGEN], [test "$DX_FLAG_doc" = "1"])
AM_CONDITIONAL([ENABLE_DOXYGEN_MAN], [test "$DX_FLAG_man" = "1"]) AM_CONDITIONAL([ENABLE_DOXYGEN_MAN], [test "$DX_FLAG_man" = "1"])
dnl autotools uses the same pkg-config templates as cmake, and in cmake we have dnl autotools uses the same pkg-config templates as cmake, and in cmake we have
dnl CMAKE_DEBUG_POSTFIX, so define it to empty value to simply replcae it in dnl CMAKE_DEBUG_POSTFIX, so define it to empty value to simply replace it in
dnl *.pc.in dnl *.pc.in
CMAKE_DEBUG_POSTFIX="" CMAKE_DEBUG_POSTFIX=""
AC_SUBST([CMAKE_DEBUG_POSTFIX]) AC_SUBST([CMAKE_DEBUG_POSTFIX])

16
evdns.c
View File

@ -617,7 +617,7 @@ evdns_remove_all_tcp_clients(struct evdns_server_port *port)
/* Create new tcp connection structure for DNS client. */ /* Create new tcp connection structure for DNS client. */
static struct tcp_connection * static struct tcp_connection *
new_tcp_connecton(struct bufferevent *bev) new_tcp_connection(struct bufferevent *bev)
{ {
struct tcp_connection *conn; struct tcp_connection *conn;
if (!bev) if (!bev)
@ -1158,7 +1158,7 @@ reply_handle(struct request *const req, u16 flags, u32 ttl, struct reply *reply)
} }
if (retransmit_via_tcp) { if (retransmit_via_tcp) {
log(EVDNS_LOG_DEBUG, "Recieved truncated reply(flags 0x%x, transanc ID: %d). Retransmiting via TCP.", log(EVDNS_LOG_DEBUG, "Received truncated reply(flags 0x%x, transac ID: %d). Retransmitting via TCP.",
req->handle->tcp_flags, req->trans_id); req->handle->tcp_flags, req->trans_id);
req->handle->tcp_flags |= DNS_QUERY_USEVC; req->handle->tcp_flags |= DNS_QUERY_USEVC;
client_retransmit_through_tcp(req->handle); client_retransmit_through_tcp(req->handle);
@ -1982,9 +1982,9 @@ dnsname_to_labels(u8 *const buf, size_t buf_len, off_t j,
static size_t static size_t
evdns_request_len(const struct evdns_base *base, const size_t name_len) evdns_request_len(const struct evdns_base *base, const size_t name_len)
{ {
int addional_section_len = 0; int additional_section_len = 0;
if (EDNS_ENABLED(base)) { if (EDNS_ENABLED(base)) {
addional_section_len = 1 + /* length of domain name string, always 0 */ additional_section_len = 1 + /* length of domain name string, always 0 */
2 + /* space for resource type */ 2 + /* space for resource type */
2 + /* space for UDP payload size */ 2 + /* space for UDP payload size */
4 + /* space for extended RCODE flags */ 4 + /* space for extended RCODE flags */
@ -1993,7 +1993,7 @@ evdns_request_len(const struct evdns_base *base, const size_t name_len)
return 96 + /* length of the DNS standard header */ return 96 + /* length of the DNS standard header */
name_len + 2 + name_len + 2 +
4 /* space for the resource type */ + 4 /* space for the resource type */ +
addional_section_len; additional_section_len;
} }
/* build a dns request packet into buf. buf should be at least as long */ /* build a dns request packet into buf. buf should be at least as long */
@ -2188,7 +2188,7 @@ server_tcp_read_packet_cb(struct bufferevent *bev, void *ctx)
return; return;
} }
/* Only part of the message was recieved. */ /* Only part of the message was received. */
if (!msg) if (!msg)
break; break;
@ -2813,7 +2813,7 @@ evdns_tcp_connect_if_disconnected(struct nameserver *server)
return 0; return 0;
disconnect_and_free_connection(conn); disconnect_and_free_connection(conn);
conn = new_tcp_connecton(bufferevent_socket_new(server->base->event_base, -1, BEV_OPT_CLOSE_ON_FREE)); conn = new_tcp_connection(bufferevent_socket_new(server->base->event_base, -1, BEV_OPT_CLOSE_ON_FREE));
if (!conn) if (!conn)
return 2; return 2;
server->connection = conn; server->connection = conn;
@ -2852,7 +2852,7 @@ client_tcp_read_packet_cb(struct bufferevent *bev, void *ctx)
return; return;
} }
/* Only part of the message was recieved. */ /* Only part of the message was received. */
if (!msg) if (!msg)
break; break;

View File

@ -504,7 +504,7 @@
#define EVENT__SIZEOF_TIME_T @EVENT__SIZEOF_TIME_T@ #define EVENT__SIZEOF_TIME_T @EVENT__SIZEOF_TIME_T@
/* Define to `__inline__' or `__inline' if that's what the C compiler /* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */ calls it, or do nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus #ifndef __cplusplus
/* why not c++? /* why not c++?
* *

View File

@ -78,7 +78,7 @@ ev_arc4random_buf(void *buf, size_t n)
unsigned char *b = buf; unsigned char *b = buf;
#if defined(EVENT__HAVE_ARC4RANDOM_BUF) #if defined(EVENT__HAVE_ARC4RANDOM_BUF)
/* OSX 10.7 introducd arc4random_buf, so if you build your program /* OSX 10.7 introduced arc4random_buf, so if you build your program
* there, you'll get surprised when older versions of OSX fail to run. * there, you'll get surprised when older versions of OSX fail to run.
* To solve this, we can check whether the function pointer is set, * To solve this, we can check whether the function pointer is set,
* and fall back otherwise. (OSX does this using some linker * and fall back otherwise. (OSX does this using some linker

View File

@ -576,7 +576,7 @@ evutil_gettime_monotonic_(struct evutil_monotonic_timer *base,
/* It appears that the QueryPerformanceCounter() /* It appears that the QueryPerformanceCounter()
* result is more than 1 second away from * result is more than 1 second away from
* GetTickCount() result. Let's adjust it to be as * GetTickCount() result. Let's adjust it to be as
* accurate as we can; adjust_monotnonic_time() below * accurate as we can; adjust_monotonic_time() below
* will keep it monotonic. */ * will keep it monotonic. */
counter_usec_elapsed = ticks_elapsed * 1000; counter_usec_elapsed = ticks_elapsed * 1000;
base->first_counter = (ev_uint64_t) (counter.QuadPart - counter_usec_elapsed / base->usec_per_count); base->first_counter = (ev_uint64_t) (counter.QuadPart - counter_usec_elapsed / base->usec_per_count);

2
http.c
View File

@ -3001,7 +3001,7 @@ evhttp_start_read_(struct evhttp_connection *evcon)
evcon); evcon);
/* If there's still data pending, process it next time through the /* If there's still data pending, process it next time through the
* loop. Don't do it now; that could get recusive. */ * loop. Don't do it now; that could get recursive. */
if (evbuffer_get_length(bufferevent_get_input(evcon->bufev))) { if (evbuffer_get_length(bufferevent_get_input(evcon->bufev))) {
event_deferred_cb_schedule_(get_deferred_queue(evcon), event_deferred_cb_schedule_(get_deferred_queue(evcon),
&evcon->read_more_deferred_cb); &evcon->read_more_deferred_cb);

View File

@ -105,7 +105,7 @@ struct evbuffer
Used when repeatedly searching through a buffer. Calling any function Used when repeatedly searching through a buffer. Calling any function
that modifies or re-packs the buffer contents may invalidate all that modifies or re-packs the buffer contents may invalidate all
evbuffer_ptrs for that buffer. Do not modify or contruct these values evbuffer_ptrs for that buffer. Do not modify or construct these values
except with evbuffer_ptr_set. except with evbuffer_ptr_set.
An evbuffer_ptr can represent any position from the start of a buffer up An evbuffer_ptr can represent any position from the start of a buffer up

View File

@ -188,7 +188,7 @@ extern "C" {
#define DNS_QUERY_NO_SEARCH 0x01 #define DNS_QUERY_NO_SEARCH 0x01
/** Use TCP connections ("virtual circuits") for queries rather than UDP datagrams. */ /** Use TCP connections ("virtual circuits") for queries rather than UDP datagrams. */
#define DNS_QUERY_USEVC 0x02 #define DNS_QUERY_USEVC 0x02
/** Ignore trancation flag in responses (don't fallback to TCP connections). */ /** Ignore truncation flag in responses (don't fallback to TCP connections). */
#define DNS_QUERY_IGNTC 0x04 #define DNS_QUERY_IGNTC 0x04
/** Make a separate callback for CNAME in answer */ /** Make a separate callback for CNAME in answer */
#define DNS_CNAME_CALLBACK 0x80 #define DNS_CNAME_CALLBACK 0x80

View File

@ -642,7 +642,7 @@ enum evhttp_cmd_type {
#define EVHTTP_REQ_MAX EVHTTP_REQ_MOVE #define EVHTTP_REQ_MAX EVHTTP_REQ_MOVE
/** /**
* @brief stucture that is passed to (and modified by) the * @brief structure that is passed to (and modified by) the
* extended method callback function * extended method callback function
* *
* @see evhttp_set_ext_method_cmp * @see evhttp_set_ext_method_cmp

View File

@ -117,7 +117,7 @@ typedef void (*evconnlistener_errorcb)(struct evconnlistener *, void *);
/** Flag: Indicates that the listener wants to work only in both IPv4 and /** Flag: Indicates that the listener wants to work only in both IPv4 and
* IPv6 socket. * IPv6 socket.
* *
* This flag exists as copmlement to LEV_OPT_BIND_IPV6ONLY to account for * This flag exists as complement to LEV_OPT_BIND_IPV6ONLY to account for
* the different default behaviour on Windows so that the code can * the different default behaviour on Windows so that the code can
* explicitly request the socket to support both modes without having * explicitly request the socket to support both modes without having
* to rely on the default option. * to rely on the default option.

View File

@ -107,7 +107,7 @@ struct evthread_lock_callbacks {
/** Function to allocate and initialize new lock of type 'locktype'. /** Function to allocate and initialize new lock of type 'locktype'.
* Returns NULL on failure. */ * Returns NULL on failure. */
void *(*alloc)(unsigned locktype); void *(*alloc)(unsigned locktype);
/** Funtion to release all storage held in 'lock', which was created /** Function to release all storage held in 'lock', which was created
* with type 'locktype'. */ * with type 'locktype'. */
void (*free)(void *lock, unsigned locktype); void (*free)(void *lock, unsigned locktype);
/** Acquire an already-allocated lock at 'lock' with mode 'mode'. /** Acquire an already-allocated lock at 'lock' with mode 'mode'.

View File

@ -368,7 +368,7 @@ int evutil_configure_monotonic_time(struct evutil_monotonic_timer *timer,
* measurements of elapsed time between events even when the system time * measurements of elapsed time between events even when the system time
* may be changed. * may be changed.
* *
* It is not safe to use this funtion on the same timer from multiple * It is not safe to use this function on the same timer from multiple
* threads. * threads.
*/ */
EVENT2_EXPORT_SYMBOL EVENT2_EXPORT_SYMBOL

View File

@ -28,7 +28,7 @@
* Mon 03/10/2003 - Modified by Davide Libenzi <davidel@xmailserver.org> * Mon 03/10/2003 - Modified by Davide Libenzi <davidel@xmailserver.org>
* *
* Added chain event propagation to improve the sensitivity of * Added chain event propagation to improve the sensitivity of
* the measure respect to the event loop efficency. * the measure respect to the event loop efficiency.
* *
* *
*/ */

View File

@ -2332,7 +2332,7 @@ dbg_leak_resume(void *env_, int cancel, int send_err_shutdown)
event_base_loop(env->base, EVLOOP_NONBLOCK); event_base_loop(env->base, EVLOOP_NONBLOCK);
/** /**
* Because we don't cancel request, and want our callback to recieve * Because we don't cancel request, and want our callback to receive
* DNS_ERR_SHUTDOWN, we use deferred callback, and there was: * DNS_ERR_SHUTDOWN, we use deferred callback, and there was:
* - one extra malloc(), * - one extra malloc(),
* @see reply_schedule_callback() * @see reply_schedule_callback()

View File

@ -59,7 +59,7 @@
/* Provide storage for the address, both for the server & the clients */ /* Provide storage for the address, both for the server & the clients */
static struct sockaddr_in saddr; static struct sockaddr_in saddr;
/* Number of sucessful requests so far */ /* Number of successful requests so far */
static int num_requests; static int num_requests;
static void start_client(struct event_base *base); static void start_client(struct event_base *base);

View File

@ -476,7 +476,7 @@ WEPOLL_INTERNAL ts_tree_node_t* port_state_to_handle_tree_node(
* "destroy" returns, the calling thread may assume that no other threads have * "destroy" returns, the calling thread may assume that no other threads have
* a reference to the lock. * a reference to the lock.
* *
* Attemmpting to lock or destroy a lock after reflock_unref_and_destroy() has * Attempting to lock or destroy a lock after reflock_unref_and_destroy() has
* been called is invalid and results in undefined behavior. Therefore the user * been called is invalid and results in undefined behavior. Therefore the user
* should use another lock to guarantee that this can't happen. * should use another lock to guarantee that this can't happen.
*/ */

View File

@ -590,7 +590,7 @@
3.1. Linux-specific improvements 3.1. Linux-specific improvements
The logic for deciding which arguements to use with epoll_ctl() is now The logic for deciding which arguments to use with epoll_ctl() is now
a table-driven lookup, rather than the previous pile of cascading a table-driven lookup, rather than the previous pile of cascading
branches. This should minimize epoll_ctl() calls and make the epoll branches. This should minimize epoll_ctl() calls and make the epoll
code run a little faster on change-heavy loads. code run a little faster on change-heavy loads.

View File

@ -337,7 +337,7 @@
10.1. autotools is deprecated, use cmake 10.1. autotools is deprecated, use cmake
Building with autotools/automake is considiered as deprecated, instead, cmake Building with autotools/automake is considered as deprecated, instead, cmake
is recommended. is recommended.
CMake is crossplatform so you don't need to support multiple files for CMake is crossplatform so you don't need to support multiple files for
@ -396,7 +396,7 @@
The space after the initial '"' is significant. The space after the initial '"' is significant.
11. Continious Integration 11. Continuous Integration
Now Libevent uses github actions for CI, previously we had travis-ci for Now Libevent uses github actions for CI, previously we had travis-ci for
linux/macos and appveyor for win32 (removed in #951), and also I used testing linux/macos and appveyor for win32 (removed in #951), and also I used testing
@ -408,7 +408,7 @@
- windows - windows
- osx - osx
- openbsd - openbsd
- and also tests under Thread/Address/Undefind sanitizers - and also tests under Thread/Address/Undefined sanitizers
So no need to test something locally before releases. So no need to test something locally before releases.