2479 Commits

Author SHA1 Message Date
Nick Mathewson
6476d92d10 Checkpoint changelog entries for 2.0.14-stable 2011-08-29 13:40:03 -04:00
Nick Mathewson
904254f975 Merge remote-tracking branch 'origin/patches-2.0' 2011-08-28 14:51:36 -04:00
Nick Mathewson
e6af35d762 Correctly terminate IO on an async bufferevent on bufferevent_free 2011-08-28 14:39:12 -04:00
Nick Mathewson
0ff2c5a922 Have test-ratelim.c support IOCP 2011-08-28 14:39:12 -04:00
Nick Mathewson
a98da7bfc9 Make IOCP rate-limiting group support stricter and less surprising.
Previously, we wouldn't decrement read/write buckets because of IOCP
reads and writes until those reads and writes were complete.  That's
not so bad on the per-connection front.  But for group limits, the
old approach makes us launch a huge amount of reads and writes
whenever the group limit becomes positive, and then decrement the
limit to a hugely negative number as they complete.

With this patch, we decrement our read buckets whenever we launch an
IOCP read or write, based on the maximum that tried to read or
write.  Later, when the operations finish, we re-increment the
bucket based on the portion of the request that couldn't finish.
2011-08-28 14:39:11 -04:00
Nick Mathewson
c75341b077 Support negative arguments to _bufferevent_decrement_(read/write)_buckets() 2011-08-28 14:39:11 -04:00
Harlan Stenn
6d2613becc We need AM_CPPFLAGS when compiling bufferevent_openssl.c 2011-08-28 14:31:37 -04:00
Harlan Stenn
1c63860758 Use pkg-config (if available) to handle OpenSSL. 2011-08-28 14:31:28 -04:00
Harlan Stenn
674dc3d34e Provide the autoconf m4 macros for the new OpenSSL via pkg-config stuff. 2011-08-28 14:31:28 -04:00
Nick Mathewson
b260065ab6 Merge remote-tracking branch 'origin/patches-2.0' 2011-08-28 14:06:03 -04:00
Nick Mathewson
2f51dc0311 Cleanup on 7c11e51e1ab: fix strtol usage 2011-08-28 14:03:10 -04:00
Nick Mathewson
6056d6e0df Cleanup on 7c11e51e1ab: restore c90 declaration compliance 2011-08-28 14:02:40 -04:00
Harlan Stenn
7c11e51e1a Clean up some problems identified by Coverity. 2011-08-28 13:44:33 -04:00
Nick Mathewson
2cbe115cbc Merge remote-tracking branch 'origin/patches-2.0' 2011-08-24 16:17:56 -04:00
Nick Mathewson
5b18f13048 Make rate limiting work with common_timeout logic 2011-08-24 16:17:05 -04:00
Nick Mathewson
0d10804465 Merge remote-tracking branch 'origin/patches-2.0' 2011-08-18 15:18:14 -04:00
Nick Mathewson
6736852eaa Merge branch '20_iocp_fixes' into patches-2.0 2011-08-18 15:09:44 -04:00
Nick Mathewson
6acfbdd83a Make overlapped reads result in evbuffer callbacks getting invoked 2011-08-18 13:15:46 -04:00
Nick Mathewson
495c227f59 IOCP: don't launch reads or writes on an unconnected socket 2011-08-18 11:41:55 -04:00
Nick Mathewson
ec670c15a7 Merge remote-tracking branch 'origin/patches-2.0'
Conflict in buffer.c: the new file-segment logic conflicted with the
solaris sendfile fix.
2011-08-17 22:08:06 -04:00
Dave Hart
04656ea85a Try to fix 'make distcheck' errors when building out-of-tree 2011-08-17 22:04:38 -04:00
Nick Mathewson
3c63edd1f7 Make the priority inversion code use gettime(), not evutil_gettimeofday()
Since we're computing the time after each callback, we might as well
update the time cache (if we're using it) and use monotonic time (if
we've got that).
2011-08-17 22:04:04 -04:00
Nick Mathewson
a37a0c0e35 Make max_dispatch_interval able to apply only to low-priority events
Suggested by Alexander Drozdov
2011-08-17 22:03:57 -04:00
Alexander Drozdov
a9866aa8c1 Optimization in event_process_active(): ignore maxcb & endtime for highest priority events. 2011-08-17 22:03:57 -04:00
Nick Mathewson
9fa56bdf1c Make sure max_dispatch_callbacks is never negative
Suggested by Alexander Drozdov.
2011-08-17 22:03:57 -04:00
Nick Mathewson
fd4de1e7fe Add event_config function to limit time/callbacks between calls to dispatch 2011-08-17 22:03:57 -04:00
Nick Mathewson
e067d0e3ac Merge branch '20_low_ratelim' into patches-2.0 2011-08-17 21:47:19 -04:00
Michael Herf
643922e907 Solaris sendfile: correctly detect amount of data sent
Original message:

   Solaris sendfile seems to fail when sending moderately large (<1GB)
   files. Not a 32/64 problem, but a buffer problem.

   Anyone else ever try this? It is definitely broken in http-server.c.

   It seems to be broken in the following way:

   When sendfile sends partial data (EAGAIN, would block), "res" is
   always -1, rather than the amount sent.

   Here's a patch that reads from the "offset" pointer instead to
   discover what was sent. This seems to work:
2011-08-15 13:39:10 -04:00
Nick Mathewson
2fdb8e2204 Merge remote-tracking branch 'ellzey/debug_timer_add_usec' 2011-08-15 11:29:39 -04:00
Nick Mathewson
d7451b0523 Merge remote-tracking branch 'origin/patches-2.0' 2011-08-15 11:14:57 -04:00
Leonid Evdokimov
aff6ba15a1 Fix request_finished memory leak with debugging turned on. 2011-08-15 11:12:57 -04:00
Leonid Evdokimov
9b724b288a Fix evsig_dealloc memory leak with debugging turned on. 2011-08-15 11:12:52 -04:00
Leonid Evdokimov
50be5a14b5 Another docstring fix. 2011-08-15 11:11:10 -04:00
Mark Ellzey
67275433ec more event dbg updates 2011-08-11 16:53:01 -05:00
Nick Mathewson
6d5440e80e Fix handling of group rate limits under 64 bytes of burst
The "min_share" logic, which was designed to prevent piles of
extremely small writes when running up against a group rate limit,
could lead to confusing behavior if you ever set a min_share less
than your burst rate.  If that happened, then as soon as your group
rate limit was exhausted, you'd stop reading/writing, and never
start again, since the amount readable/writeable would never
actually hit min_share.

We now cap min_share at the rate per tick.

Found by George Kadianakis
2011-08-11 15:15:17 -04:00
Mark Ellzey
4b7d298415 added timeout debug logs to include event ptr. 2011-08-11 13:25:24 -05:00
Nick Mathewson
14ec20a7a3 Merge remote-tracking branch 'ellzey/debug_timer_add_usec' 2011-08-11 14:00:01 -04:00
Nick Mathewson
d87a3f71c6 Merge remote-tracking branch 'ellzey/event_debug_flag' 2011-08-11 13:59:02 -04:00
Mark Ellzey
3baab0dce9 Added usec debug in another area for debug 2011-08-11 12:06:54 -05:00
Mark Ellzey
ac43ce0450 Debug addition for printing usec on TIMEOUT debugging. 2011-08-11 11:56:26 -05:00
Nick Mathewson
d4f56353f7 Merge remote-tracking branch 'origin/patches-2.0' 2011-08-10 13:18:30 -04:00
Sebastian Hahn
5d1b255b14 Ignore deprecation warnings on OS X
Starting with Lion, Apple decided to deprecate the system openssl. We
can start requiring users to install their own openssl once OS X doesn't
ship with it anymore.
2011-08-10 19:13:39 +02:00
Joachim Bauch
26041a8ed8 prevent nested multicast references, reworked locking 2011-08-09 23:08:54 +02:00
Joachim Bauch
9d7368ae2d support adding buffers to other buffers non-destructively 2011-08-09 23:08:46 +02:00
Nick Mathewson
5419803d3a Merge remote-tracking branch 'origin/patches-2.0' 2011-08-08 22:04:46 -04:00
Mitchell Livingston
b4423029b9 Allow OS-neutral builds for platforms where some versions have arc4random_buf 2011-08-08 22:03:34 -04:00
Nick Mathewson
e91d57f1f6 Merge remote-tracking branch 'github/21_split_functions'
Conflicts:
	event.c

The conflicts were with the 21_faster_timeout_adj branch, which
added a "reinsert" function that needed to get renamed to
"reinsert_timeout".  Also, some of the code that 21_split_functions
changes got removed by 21_faster_timeout_adj.
2011-08-08 16:20:53 -04:00
Nick Mathewson
24e2480520 Merge remote-tracking branch 'github/21_faster_timeout_adj' 2011-08-08 16:17:18 -04:00
Mark Ellzey
a9c2c9ab62 changed to --enable-verbose-debug 2011-08-06 01:32:40 -04:00
Nick Mathewson
909c40e5d1 Merge remote-tracking branch 'origin/patches-2.0' 2011-08-03 12:12:47 -04:00