]>
granicus.if.org Git - libevent/log
Nick Mathewson [Thu, 6 Mar 2014 15:09:03 +0000 (10:09 -0500)]
Move assert(ev) to before we use ev in EV_CLOSURE_EVENT_FINALIZE case
Based on a patch from Harlan Stenn.
Nick Mathewson [Mon, 3 Mar 2014 18:47:21 +0000 (13:47 -0500)]
Merge remote-tracking branch 'origin/pr/110'
Nick Mathewson [Mon, 3 Mar 2014 16:23:55 +0000 (11:23 -0500)]
Merge remote-tracking branch 'origin/patches-2.0'
Trond Norbye [Wed, 19 Feb 2014 05:49:31 +0000 (06:49 +0100)]
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.
Trond Norbye [Wed, 19 Feb 2014 05:31:27 +0000 (06:31 +0100)]
Add option to build shared library
Nick Mathewson [Mon, 24 Feb 2014 20:07:38 +0000 (15:07 -0500)]
Do not offer EV_FEATURE_EARLY_CLOSE if we have no EPOLLRDHUP
Nick Mathewson [Mon, 24 Feb 2014 20:05:03 +0000 (20:05 +0000)]
Merge pull request #97 from JoakimSoderberg/openwrt_fixes
BUGFIX: Fix compilation on systems with EPOLLRDHUP undefined.
Nick Mathewson [Mon, 24 Feb 2014 15:32:00 +0000 (10:32 -0500)]
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.
Trond Norbye [Wed, 19 Feb 2014 05:29:58 +0000 (06:29 +0100)]
Rename event_extras to event_extra
The library event_extras is named event_extra when building with
GNU autotools
Joakim Soderberg [Mon, 17 Feb 2014 12:43:10 +0000 (12:43 +0000)]
BUGFIX: Fix compilation on systems with EPOLLRDHUP undefined.
Since epolltable-internal.h uses this define, it must be defined before that is included.
Nick Mathewson [Sat, 15 Feb 2014 03:51:11 +0000 (22:51 -0500)]
Merge pull request #108 from trondn/cmake-build-fix
CMake build-related fixes
Trond Norbye [Fri, 14 Feb 2014 08:04:48 +0000 (09:04 +0100)]
Add cmake-related files to .gitignore
Trond Norbye [Fri, 14 Feb 2014 07:26:07 +0000 (08:26 +0100)]
Added -Qunused-arguments for clang on macosx
The CLang provided through Xcode on Mac OSX emits warnings for
all unused include paths making the compilation extremely verbose.
Nick Mathewson [Sun, 9 Feb 2014 18:35:21 +0000 (13:35 -0500)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Sun, 9 Feb 2014 18:29:26 +0000 (13:29 -0500)]
bufferevent_pair: don't call downcast(NULL)
John Ohl [Mon, 27 Jan 2014 19:54:55 +0000 (14:54 -0500)]
Tweaked callbacks to prevent race condition (https://github.com/libevent/libevent/issues/104)
John Ohl [Mon, 27 Jan 2014 18:03:36 +0000 (13:03 -0500)]
Tweaked callbacks to prevent race condition (https://github.com/libevent/libevent/issues/104)
Joakim Soderberg [Fri, 24 Jan 2014 16:30:17 +0000 (16:30 +0000)]
Added a Travis-CI configuration file.
Initial stab at a first Travis config file.
Nick Mathewson [Wed, 22 Jan 2014 16:55:26 +0000 (11:55 -0500)]
Merge remote-tracking branch 'joakimsoderberg/win32_fixes'
Nick Mathewson [Wed, 22 Jan 2014 16:46:52 +0000 (11:46 -0500)]
Merge remote-tracking branch 'origin/patches-2.0'
Marcin Juszkiewicz [Wed, 22 Jan 2014 10:17:35 +0000 (11:17 +0100)]
Check does arch have the epoll_create and __NR_epoll_wait syscalls.
Some architectures (like AArch64) do not have deprecated syscalls.
Signed-off-by: Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
Joakim Soderberg [Wed, 22 Jan 2014 12:19:49 +0000 (13:19 +0100)]
Check for OSX when checking for clang.
Joakim Soderberg [Wed, 22 Jan 2014 11:12:51 +0000 (12:12 +0100)]
Guard against EVENT_NOWIN32 being set during testing.
On windows all tests will fail if EVENT_NOWIN32 is set, since then there
will be no backend available.
Question is if we should simply disable the environment variable check on
Windows, since there's only one backend available anyway?
Joakim Soderberg [Wed, 22 Jan 2014 10:15:17 +0000 (11:15 +0100)]
Fix https-client compilation on Windows.
ssize_t is not defined. But using ssize_t for s in this context makes no
sense, since fread returns size_t.
Joakim Söderberg [Tue, 21 Jan 2014 23:06:21 +0000 (00:06 +0100)]
CMake: Get rid of python not found warning when regress tests turned off.
It would warn that python wasn't found when it was, just because the regress tests where turned off... confusing.
Joakim Söderberg [Tue, 21 Jan 2014 23:03:37 +0000 (00:03 +0100)]
Fix CMake compile when OpenSSL is disabled.
Nick Mathewson [Tue, 21 Jan 2014 20:47:44 +0000 (15:47 -0500)]
Split epoll lookup table into a separate header file
It accounted for more than half the length of epoll.c, and it's
machine-generated, so we might as well keep it separate.
Nick Mathewson [Tue, 21 Jan 2014 20:44:05 +0000 (15:44 -0500)]
Expand EV_CLOSED documentation a bit
Nick Mathewson [Tue, 21 Jan 2014 19:53:47 +0000 (14:53 -0500)]
Merge remote-tracking branch 'origin/pr/98'
Nick Mathewson [Tue, 21 Jan 2014 19:29:00 +0000 (14:29 -0500)]
Disclaimerize cmake a little in the README
Nick Mathewson [Tue, 21 Jan 2014 19:26:01 +0000 (14:26 -0500)]
Merge remote-tracking branch 'joakimsoderberg/new_cmake'
Conflicts:
sample/https-client.c
Joakim Söderberg [Tue, 21 Jan 2014 18:19:30 +0000 (19:19 +0100)]
Fix broken autotools build.
The move of the static *config.h files to a sub directory for WIN32 broke the autotools build. Use the proper subpath for that as well...
Nick Mathewson [Tue, 21 Jan 2014 17:21:37 +0000 (12:21 -0500)]
Fix a c90 warning
Joakim Söderberg [Tue, 21 Jan 2014 10:35:21 +0000 (11:35 +0100)]
Check if we're on OSX before disabling deprecation in le-proxy
Joakim Söderberg [Tue, 21 Jan 2014 10:30:27 +0000 (11:30 +0100)]
Change all uses of WIN32 to _WIN32
Joakim Söderberg [Tue, 21 Jan 2014 10:19:02 +0000 (11:19 +0100)]
Fix include bug.
On systems where a previous version of Libevent is installed we don't want the system version of the headers to be included before the ones in the build tree. This happened on my OSX system where I had an ancient version of Libevent installed. It would then load the incorrect event-config.h and fail because the system introspection macros weren't set properly.
Diego Giagio [Sat, 18 Jan 2014 01:20:42 +0000 (23:20 -0200)]
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
Joakim Soderberg [Tue, 14 Jan 2014 17:45:11 +0000 (18:45 +0100)]
Forgotten headers for old nmake project compatability.
JoakimSoderberg [Tue, 14 Jan 2014 17:41:58 +0000 (18:41 +0100)]
Clean up the README some.
Joakim Soderberg [Tue, 14 Jan 2014 17:25:07 +0000 (18:25 +0100)]
Update README with CMake build instructions.
Joakim Soderberg [Tue, 14 Jan 2014 17:24:43 +0000 (18:24 +0100)]
Rename README to README.md and use markdown to format.
Joakim Soderberg [Tue, 14 Jan 2014 16:53:47 +0000 (17:53 +0100)]
Fix so that old nmake project still builds.
Joakim Soderberg [Tue, 14 Jan 2014 16:37:58 +0000 (17:37 +0100)]
Set USE_DEBUG=1 on EVENT__ENABLE_VERBOSE_DEBUG
Joakim Soderberg [Tue, 14 Jan 2014 13:01:31 +0000 (13:01 +0000)]
Some work on making it possible to simply do add_subdirectory() on the project.
Joakim Soderberg [Fri, 10 Jan 2014 16:58:42 +0000 (17:58 +0100)]
Fix typo
Joakim Soderberg [Thu, 9 Jan 2014 12:44:38 +0000 (13:44 +0100)]
Add CMake config and install targets.
Make it easier for other projects to do find_package by creating config
files both in the build and install tree.
Nick Mathewson [Wed, 8 Jan 2014 18:02:37 +0000 (13:02 -0500)]
Fix even more coverity warnings.
Nick Mathewson [Wed, 8 Jan 2014 17:46:09 +0000 (12:46 -0500)]
Fix a couple of compilation warnings in regress_http.c
Nick Mathewson [Wed, 8 Jan 2014 17:04:06 +0000 (12:04 -0500)]
Remove spurious checks in evrpc.c error cases (coverity)
Coverity hates the case where you have a redundant NULL check after
using something.
Nick Mathewson [Wed, 8 Jan 2014 16:58:50 +0000 (11:58 -0500)]
Whoops; fix compilation in bench.c
Nick Mathewson [Wed, 8 Jan 2014 16:54:56 +0000 (11:54 -0500)]
Fix coverity warnings in benchmark tools.
Again, not harmful, but best to stay warning-free.
Nick Mathewson [Wed, 8 Jan 2014 16:51:22 +0000 (11:51 -0500)]
Fix a pile of coverity warnings in the unit tests
Most of these problems can only trigger when the tests fail, but it's
good hygiene to keep the code warning-free in any case.
Nick Mathewson [Tue, 7 Jan 2014 21:59:26 +0000 (16:59 -0500)]
Merge remote-tracking branch 'asweeny86/on-complete-cb'
Andrew Sweeney [Tue, 7 Jan 2014 02:19:15 +0000 (21:19 -0500)]
Update unit test to make sure that the callback happens after the output data is written
Andrew Sweeney [Tue, 7 Jan 2014 01:36:31 +0000 (20:36 -0500)]
evhttp_request_set_on_complete_cb to be more specific about what the function actually does and usage
Nick Mathewson [Mon, 6 Jan 2014 17:11:30 +0000 (12:11 -0500)]
Merge remote-tracking branch 'asweeny86/event-count-max'
Andrew Sweeney [Mon, 6 Jan 2014 01:35:46 +0000 (20:35 -0500)]
Provide on request complete callback facility
This patch provides the ability to receive a callback on the completion of a
request. The callback takes place immediately before the request's resources
are released.
Andrew Sweeney [Sun, 5 Jan 2014 21:30:35 +0000 (16:30 -0500)]
Added unit test for max event counts
Andrew Sweeney [Sun, 5 Jan 2014 21:29:52 +0000 (16:29 -0500)]
Fixed bug using wrong variable in max event compare
Andrew Sweeney [Mon, 30 Dec 2013 19:06:20 +0000 (14:06 -0500)]
Add access to max event count stats
This commit provides an interface for accessing and resetting the maximum
number of events in a given period. This information provides better insight
into event queue pressure.
Nick Mathewson [Tue, 24 Dec 2013 20:02:02 +0000 (15:02 -0500)]
Remove unneeded declaration in bufferevent-internal.h
Nick Mathewson [Tue, 24 Dec 2013 20:01:34 +0000 (15:01 -0500)]
Fix needless bufferevent includes in evdns.c
Nick Mathewson [Tue, 24 Dec 2013 19:37:30 +0000 (14:37 -0500)]
Fix a couple of "#ifdef WIN32" instances
Nick Mathewson [Tue, 24 Dec 2013 19:05:44 +0000 (14:05 -0500)]
Sample HTTPS Client: Set hostname for SNI extension (by f69m)
Patch from f69m on SourceForge
Antony Antony [Thu, 9 May 2013 04:50:52 +0000 (06:50 +0200)]
fix for ServFail from RIPE Atlas release
Nick Mathewson [Tue, 24 Dec 2013 17:59:36 +0000 (12:59 -0500)]
Small tweaks to https-client.c
Nick Mathewson [Tue, 24 Dec 2013 17:45:22 +0000 (12:45 -0500)]
Merge remote-tracking branch 'resetius/https'
Nick Mathewson [Tue, 24 Dec 2013 17:27:24 +0000 (12:27 -0500)]
Merge remote-tracking branch 'rbalint/from-forked-daapd'
Nick Mathewson [Tue, 24 Dec 2013 16:30:06 +0000 (11:30 -0500)]
Minor optimizations on bufferevent_trigger options
By making BEV_TRIG_DEFER_CALLBACKS equal to BEV_OPT_DEFER_CALLBACKS,
and BEV_TRIG_IGNORE_WATERMARKS disjoint from BEV_OPT_*, we can save a
few operations in bufferevent_run_*, which is critical-path.
Nick Mathewson [Tue, 24 Dec 2013 16:20:52 +0000 (11:20 -0500)]
Make bufferevent_trigger_nolock_() inline
Since most of its callers are using constant EV_READ or EV_WRITE, and
using constant 0 as its argument, this should eliminate most of the
overhead for this function in the fast case.
Nick Mathewson [Tue, 24 Dec 2013 15:33:58 +0000 (10:33 -0500)]
Merge remote-tracking branch 'mistotebe/bufferevent_trigger'
Nick Mathewson [Tue, 24 Dec 2013 01:46:38 +0000 (20:46 -0500)]
Unit tests for active_by_fd; unsupport active_by_fd(TIMEOUT)
[It turns out that event_base_active_by_fd(TIMEOUT) didn't actually
work right. Feel free to add it back in as a patch.]
Nick Mathewson [Sun, 22 Dec 2013 04:32:10 +0000 (23:32 -0500)]
Add event_base_active_by_signal by analogy
Nick Mathewson [Sun, 22 Dec 2013 04:21:33 +0000 (23:21 -0500)]
Sanity-check arguments to event_base_active_by_fd()
Nick Mathewson [Sun, 22 Dec 2013 04:15:41 +0000 (23:15 -0500)]
Merge remote-tracking branch 'ghazel/event_base_active_by_fd'
Nick Mathewson [Sun, 22 Dec 2013 04:15:28 +0000 (23:15 -0500)]
Refactor evmap_{io,signal}_active_() to tolerate bad inputs
Nick Mathewson [Fri, 20 Dec 2013 18:37:39 +0000 (13:37 -0500)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Fri, 20 Dec 2013 18:37:04 +0000 (13:37 -0500)]
Merge remote-tracking branch 'sourceforge/patches-2.0' into patches-2.0
Conflicts:
include/event2/event.h
Nick Mathewson [Fri, 20 Dec 2013 18:31:29 +0000 (13:31 -0500)]
Typo fixes from Linus Nordberg
Nick Mathewson [Fri, 20 Dec 2013 18:31:29 +0000 (13:31 -0500)]
Typo fixes from Linus Nordberg
Joakim Soderberg [Thu, 19 Dec 2013 12:03:49 +0000 (12:03 +0000)]
Added EVENT__ENABLE_GCC_WARNINGS, turns all warnings into errors.
Joakim Soderberg [Thu, 19 Dec 2013 10:46:04 +0000 (10:46 +0000)]
Only look for ZLib when it is used (if tests are included).
Also make the project language C.
Joakim Soderberg [Thu, 19 Dec 2013 09:54:52 +0000 (10:54 +0100)]
Fix the "make verify" target on NetBSD
Joakim Soderberg [Tue, 17 Dec 2013 15:17:29 +0000 (15:17 +0000)]
Add a "make verify_coverage" target generation coverage info.
Use lcov/gcov to gather coverage info for the tests (Only works with gcc/clang and make).
cmake -DEVENT__COVERAGE=1 -DCMAKE_BUILD_TYPE=Debug ..
make
make verify_coverage
Current coverage (run on debian):
Line coverage 79.1 % 10231 / 12939
Function coverage 86.1 % 933 / 1083
Joakim Soderberg [Tue, 17 Dec 2013 13:32:07 +0000 (14:32 +0100)]
Get rid of unknown pragma warnings.
Joakim Soderberg [Tue, 17 Dec 2013 13:31:22 +0000 (14:31 +0100)]
Minimum required python version is 2.4.
Got rid of TODO... The version you specify to find_package is the minimum
version, so exactly what we want.
Joakim Soderberg [Tue, 17 Dec 2013 13:07:14 +0000 (14:07 +0100)]
Change the BSD license from 4 to 3-clause.
This makes it GPL compatible. Changing the license from 4 to 3-clause BSD
license is OK according to a Berkley announcement on July 22, 1999 by
William Hoskins, the director of the fofice of technology licensing for
Berkley:
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
Joakim Söderberg [Tue, 17 Dec 2013 13:01:21 +0000 (14:01 +0100)]
Added a test for testing if kqueue works with pipes.
Joakim Söderberg [Tue, 17 Dec 2013 12:29:04 +0000 (13:29 +0100)]
Fix kqueue support.
Joakim Söderberg [Tue, 17 Dec 2013 12:28:23 +0000 (13:28 +0100)]
Get rid of deprecation warnings for OpenSSL on OSX 10.7+
Joakim Soderberg [Mon, 16 Dec 2013 17:10:32 +0000 (18:10 +0100)]
Fix the make "verify" target on Windows.
Windows does not have the "unset" command, but this doesn't matter since
the problem that requires us to use unset doesn't happen on Windows.
Also did some minor cosmetic changes, and dependcy changes.
Nick Mathewson [Mon, 16 Dec 2013 17:02:21 +0000 (12:02 -0500)]
Clarify event_base_loop exit conditions
Joakim Soderberg [Mon, 16 Dec 2013 16:44:13 +0000 (16:44 +0000)]
Added a "make verify" target.
This is more than for cosmetic purposes to match how it's done with autoconf.
Due to the fact that we use environment variables to turn off certain backends during the tests, simply running "ctest" or "make test" can result in failed tests.
This is because if you do "EVENT_NOEPOLL=yes && export EVENT_NOEPOLL" and then run the tests, when running the epoll tests, the EPOLL backend will be turned off. There is no way of unsetting an environment variable for a test in CMake, you can only set them. And since libevent simply checks if the environment variable is set (it doesn't check the actual value of it), this won't work.
So to remedy this, we create the "make verify" target that first unsets all the EVENT_NO* environment variables, and then runs ctest.
Also bumped the required CMake version from 2.6 to 2.8, since the set_test_properties(bla PROPERTIES ENVIRONMENT "SOME_VAR") requires 2.8
Added some explicit dependencies for the test programs to libevent, so they don't just fail if you try to run the tests without first doing "make"
Joakim Soderberg [Mon, 16 Dec 2013 15:37:51 +0000 (16:37 +0100)]
Only test the event backends available on the system.
Fix how the CMake project adds the tests using the different backends. At
first we tried to do it exactly as it's done in test/test.sh.
However, test.sh uses a special program test-init to decide if a given
backend is available or not before running the actual tests. Doing it this way
will not be possible using CMake. Since then we would have to have the
test-init executable compiled at the time we run CMake, to know what tests
we should add. (And since CMake generates the make/project files that
compiles the executables, there's a catch 22).
Instead of deciding what tests to run this way, we simply use the result
of the CMake system introspection (that figures out what backends are
available) to decide what backend tests to add.
Joakim Soderberg [Mon, 16 Dec 2013 12:45:45 +0000 (13:45 +0100)]
Don't segfault on no found event backend.
Joakim Soderberg [Mon, 16 Dec 2013 10:35:31 +0000 (11:35 +0100)]
Fix bench_cascade program on Windows.
Joakim Soderberg [Mon, 16 Dec 2013 10:34:14 +0000 (11:34 +0100)]
Only include WIN32 getopt where it is used.
getopt is only used in the benchmark tests, don't include it in the core
lib...
Joakim Soderberg [Mon, 16 Dec 2013 10:27:13 +0000 (11:27 +0100)]
Add copyright and licensing files for CMake modules.
Joakim Soderberg [Mon, 16 Dec 2013 10:26:29 +0000 (11:26 +0100)]
Use evutil_closesocket instead.
Joakim Soderberg [Fri, 13 Dec 2013 16:00:23 +0000 (17:00 +0100)]
Added some GCC specific options.
- Added sample applications.
- Fixed the https-client to work on Windows kind of (No cert validation).