808 Commits

Author SHA1 Message Date
Nick Mathewson
c9ba53a3ef Remove an unsafe programming practice from test-fdleak; add XX comments
It's a bad idea to have a read callback read a fixed amount; Instead,
we should drain it, or have some way to know that more data is
arrived.  Not unsafe in this case, but let's not encourage people to
learn bad habits.

This commit also notes some other stuff to fix.
2012-02-27 17:57:01 -05:00
Ross Lagerwall
4293a809b7 Try and fix compilation and running of test-fdleak on Windows. 2012-02-25 07:47:49 +02:00
Ross Lagerwall
1c4288f492 Allow compilation on machines that do not have setrlimit. 2012-02-25 07:36:49 +02:00
Ross Lagerwall
f7af1941b8 Simply test-fdleak by running server & client sockets in the same event loop. 2012-02-25 07:21:20 +02:00
Ross Lagerwall
2ef92786e3 Add a new test: test-fdleak which tests for fd leaks by creating many sockets.
This test opens a server socket, and forks a child which connects to that
server socket many times. It sets a low number for the max open file limit
to catch any file descriptor leaks.
It would not work on Windows since it uses fork() to be able to create both the
server and the clients.
2012-02-23 21:44:30 +02:00
Nick Mathewson
a37cbfdafc Merge remote-tracking branch 'origin/patches-2.0'
Conflicts:
	configure.in
2012-02-14 15:44:03 -05:00
Mark Ellzey
2d67b63853 Changed OPENSSL_LDFLAGS to OPENSSL_LIBADD 2012-02-14 15:37:58 -05:00
Mark Ellzey
9278196847 Added OPENSSL_LDFLAGS env variable which is appended to SSL checks.
If openssl is not installed system-wide or not compiled as a shared library,
some systems require various link flags (e.g., -ld).
2012-02-14 15:01:02 -05:00
Nick Mathewson
6c81be746c Synchronize with upstream tinytest 2012-02-13 17:49:17 -05:00
Nick Mathewson
a9dc063ceb Merge in a punctuation fix from upstream tinytest 2012-02-13 17:30:46 -05:00
Nick Mathewson
a6503944dd Add a bufferevent_getcb() to find a bufferevent's current callbacks 2012-02-11 12:04:15 -05:00
Nick Mathewson
539466e568 Merge remote-tracking branch 'origin/patches-2.0'
Conflicts:
	Makefile.am
	WIN32-Code/event2/event-config.h
	configure.in
2012-02-10 17:33:50 -05:00
Nick Mathewson
e49e289129 Update copyright notices to 2012 2012-02-10 17:29:53 -05:00
Nick Mathewson
4dee4cc7e1 Replace more C99/C++ comments with oldschool /* */ comments 2012-02-02 11:45:23 -05:00
Nick Mathewson
7622d2659b Make test-changelist faster 2012-01-27 15:10:28 -05:00
Nick Mathewson
4b7baec668 Merge remote-tracking branch 'origin/patches-2.0' 2012-01-26 16:56:33 -05:00
Nick Mathewson
9f9e259fda Better workaround for Linux 3.2 edge-triggered epoll bug
On further investigation, it appears that this problem is limited to
AF_UNIX sockets, so let's just do the test on AF_INET sockets.
2012-01-26 15:04:24 -05:00
Nick Mathewson
95e2455cdb When including an -internal.h header outside the main tree, do so early
Some of our unit tests and sample code need functions and structures
defined in an -internal.h header.  But that can freak out OpenSolaris,
where stdio.h wants to define _FILE_OFFSET_BITS unless it's already
defined, and then evconfig-internal.h defines it.  Regular users
should never ever use our -internal.h headers, so the solution is
to make sure that if we're going to use them ourselves, we do so
before system headers.
2012-01-24 16:08:00 -05:00
Nick Mathewson
b9f7e5fd19 Allow more slop in deferred_cb_skew test; freebsd needs it 2012-01-24 15:58:11 -05:00
Nick Mathewson
3aa0e8a905 Remove a couple of now-unused variables 2012-01-24 15:30:31 -05:00
Nick Mathewson
b77b43fcdf Use test_timeval_diff_eq more consistently 2012-01-24 14:59:37 -05:00
Nick Mathewson
67a1763bc4 Make regression tests run over 3x faster.
This was mainly a matter of reducing timeouts and delays, paying
special attention to every test that took longer than a second to
finish.

We could do better here; IMO anything over .7 sec is probably too
long, but it's a big win as it is.

Remember, interactive computing is a big win over batch processing:
anything that makes you get up and walk away from the terminal might
as well be making you carry your punch cards over to the mainframe.
2012-01-24 14:48:04 -05:00
Nick Mathewson
ab14f7c140 Reduce the timeout in the main/fork test.
There was no reason for it to be so long, except for the lack of a usleep
2012-01-24 14:47:30 -05:00
Nick Mathewson
f25d9d32b1 Add an (internal) usleep function for use by unit tests 2012-01-24 11:42:26 -05:00
Nick Mathewson
18653fcae7 Merge remote-tracking branch 'origin/patches-2.0' 2012-01-24 11:17:06 -05:00
Nick Mathewson
5408ff3b89 Oops:remove an accidentally committed "sleep(1)" in a unit test 2012-01-24 11:16:26 -05:00
Nick Mathewson
10996a1a0b Merge remote-tracking branch 'origin/patches-2.0' 2012-01-24 11:04:56 -05:00
Nick Mathewson
dab91877bc Workaround in the unit tests for an apparent epoll bug in Linux 3.2 2012-01-24 11:04:19 -05:00
Nick Mathewson
fe0afabb59 Merge remote-tracking branch 'origin/patches-2.0'
Conflicts:
	event.c

Edits required in:
        evmap.c
2012-01-24 10:29:31 -05:00
Nick Mathewson
3312b02036 Check event_base correctness at end of each unit test 2012-01-23 17:43:35 -05:00
Nick Mathewson
27737d55ae Add function to check referential integrity of an event_base 2012-01-21 12:55:15 -05:00
Nick Mathewson
26e85fcce4 Merge remote-tracking branch 'origin/patches-2.0' 2012-01-09 16:54:19 -05:00
Nick Mathewson
cba48c7d46 Fix a race condition in the dns/bufferevent_connect_hostname test.
As originally written, the test would only pass if the accept()
callbacks for the evconnlistener were all invoked before the last of
the CONNECTED/ERROR callbacks for the connecting/resolving bufferevent
had its call to event_base_loopexit() complete.  But this was only
accidentally true in 2.0, and might not be true at all in 2.1 where
we schedule event_base_once() callbacks more aggressively.

Found by Sebastian Hahn.
2012-01-09 16:44:53 -05:00
Nick Mathewson
cac02fadc2 Merge remote-tracking branch 'origin/patches-2.0' 2011-12-08 14:38:04 -05:00
Zack Weinberg
c986f2321d Fix behavior of evbuffer_peek(buf,-1,NULL,NULL,0)
(Patch altered by nickm to not affect the behavior of
evbuffer_peek(buf,-1,NULL,vec,n_vec).)
2011-12-08 14:31:09 -05:00
Nick Mathewson
5c7675cc5a whitespace fixes 2011-12-08 14:05:47 -05:00
Nick Mathewson
de5428e7d5 Merge remote-tracking branch 'fancycode/buffer_references'
Conflicts:
	buffer.c
2011-12-08 14:04:04 -05:00
Joachim Bauch
a8e5e2fce4 Changed use of refcounts to make sure referenced chains are freed in all cases. 2011-12-07 21:06:10 +01:00
Nick Mathewson
27e222559a Add evbuffer_copyout_from to copy data from the middle of a buffer
You could previously do this with evbuffer_peek() and some memcpys,
but it was a bit more work than most folks wanted to get into.

Closes sourceforge ticket 3108072
2011-12-07 13:04:35 -05:00
Nick Mathewson
35c5c9558a Bypass event_add when using event_base_once() for a 0-sec timeout
Some people use event_base_once(EV_TIMEOUT) to make a callback get
called "immediately".  But this is pretty roundabout: it uses the
timeout heap to immediately put the event onto the active queue, when
it could just use event_active.  Additionally, it can lead to
surprising re-ordering behavior.

This patch changes event_base_once so it bypasses event_add() and
called event_active() directly on a pure-timeout event with an empty
timeout.
2011-12-07 11:49:52 -05:00
Nick Mathewson
748a0d2794 Merge remote-tracking branch 'origin/patches-2.0' 2011-12-06 13:38:40 -05:00
Colin Watt
19277763b2 Fix a silly compilation error with the sun compiler
Apparently, other compilers were allowing "return free(x)" in a
function returning void.
2011-12-06 13:35:54 -05:00
Nick Mathewson
fe9e831ffb Merge remote-tracking branch 'origin/patches-2.0' 2011-11-15 17:22:45 -05:00
Nick Mathewson
b17b0eec02 Fix DNS memleak checks when running with malloc-replacement/debugging disabled 2011-11-15 17:11:42 -05:00
Nick Mathewson
54142c9458 unit tests for EVBUFFER_EOL_NUL 2011-11-14 11:43:31 -05:00
Nick Mathewson
27b5398fe0 Tweaks, fixups, and comments on evbuffer_add_iovec 2011-11-11 17:56:08 -05:00
Mark Ellzey
aaec5aca01 Added evbuffer_add_iovec and unit tests. 2011-11-11 17:39:28 -05:00
Nick Mathewson
c882a95956 Merge remote-tracking branch 'origin/patches-2.0' 2011-11-02 23:14:24 -04:00
Greg Hazel
7eb52eb85e improve test to remove at least one buffer from src 2011-11-02 22:47:02 -04:00
Greg Hazel
90bd620fa3 unit test for remove_buffer bug 2011-11-02 13:40:16 -04:00