119 Commits

Author SHA1 Message Date
Niels Provos
ba48719946 support for 32-bit tag numbers in rpc structures
svn:r583
2007-12-12 04:39:42 +00:00
Niels Provos
e8b916c36e update ChangeLog; forgot about it
svn:r582
2007-12-09 05:07:48 +00:00
Nick Mathewson
2e2104f4ce r15172@tombo: nickm | 2007-12-06 12:54:37 -0500
Rewrite win32.c to use a red-black tree to map sockets to events.  This changes the performance from O(N^2) to O(N lg N).  Needs testing.  (This was made possible by recent changes to the implementation of non-persistent events.)


svn:r574
2007-12-06 18:13:03 +00:00
Nick Mathewson
3206bbca46 r15171@tombo: nickm | 2007-12-06 12:47:47 -0500
Use GCC attributes (where available) to verify printf type-correctness.  Fix some bugs this turned up.


svn:r573
2007-12-06 18:12:56 +00:00
Nick Mathewson
5482192bb3 r15166@tombo: nickm | 2007-12-05 23:35:10 -0500
Apply patch from bug 1841036: set the base of the correct event in evhttp_connection_start_detectclose()


svn:r571
2007-12-06 04:36:18 +00:00
Niels Provos
74b3db50ae always generate Date and Content-Length headers for HTTP/1.1
svn:r564
2007-11-29 06:08:24 +00:00
Niels Provos
f175befac9 small improvements to evhttp documentation
svn:r562
2007-11-29 04:03:36 +00:00
Niels Provos
5f3e31596b move EV_PERSIST handling out of the event backends
svn:r555
2007-11-27 01:39:10 +00:00
Nick Mathewson
ce4ee418d2 r16733@catbus: nickm | 2007-11-26 14:18:25 -0500
Add an --enable-gcc-warnings option (lifted from Tor) to the configure script.  When provided, and when we are using GCC, we enable a bunch of extra GCC warnings in the compiler.  Also, make the code all build happily with these warnings.


svn:r553
2007-11-26 19:18:49 +00:00
Nick Mathewson
1120f04f3e r16731@catbus: nickm | 2007-11-25 16:52:53 -0500
Replace all fds on non-unix-specific APIs with evutil_socket_t, which is int on unix and intptr_t on win32.


svn:r552
2007-11-25 21:53:06 +00:00
Nick Mathewson
cbf9cfdf45 r16729@catbus: nickm | 2007-11-25 16:34:50 -0500
Add missing changelog entry for last commit.


svn:r551
2007-11-25 21:35:02 +00:00
Nick Mathewson
d1ad9403cb svn:r547 2007-11-25 21:28:51 +00:00
Nick Mathewson
fa95fe469a r16704@catbus: nickm | 2007-11-19 15:58:54 -0500
Check return value of event_add in signal.c


svn:r546
2007-11-25 21:28:43 +00:00
Nick Mathewson
2823cb0579 r14944@tombo: nickm | 2007-11-25 12:12:28 -0500
Make kqueue pass more unit tests.


svn:r544
2007-11-25 17:15:28 +00:00
Nick Mathewson
566ca34022 svn:r543 2007-11-25 17:15:17 +00:00
Nick Mathewson
7eb250e9c5 r14939@tombo: nickm | 2007-11-25 11:59:26 -0500
New function event_set_mem_functions to replace internal calls to malloc, free, etc with a user-supplied functions.


svn:r541
2007-11-25 17:14:19 +00:00
Niels Provos
88897852fc provide event_reinit() to reinitialized an event_base after fork - necessary for epoll/kqueue
svn:r539
2007-11-25 06:57:59 +00:00
Nick Mathewson
1c23e21952 r14931@tombo: nickm | 2007-11-17 17:21:09 -0500
Patch from Scott Lamb: Implement event_{base_}loopbreak.  Includes documentation and tests.  From sf.net Feature Request 1826546.


svn:r535
2007-11-17 22:21:42 +00:00
Nick Mathewson
70248ca8ad r14930@tombo: nickm | 2007-11-17 17:01:14 -0500
documentation fix on loopexit and elsewhere from Scott Lamb.


svn:r534
2007-11-17 22:21:33 +00:00
Niels Provos
af6f331a0b use a const pointer for bufferevent_write
svn:r531
2007-11-17 01:32:30 +00:00
Niels Provos
f586f42885 provide event_base_new() as a mechanism for not setting the current_global
svn:r529
2007-11-14 17:52:21 +00:00
Niels Provos
56934d5d97 debug cleanups in signal.c; from Christopher Layne
svn:r527
2007-11-13 17:36:58 +00:00
Niels Provos
d50afbb370 free minheap; from Christopher Layne
svn:r525
2007-11-13 03:32:10 +00:00
Niels Provos
3742868ab5 We do not need to specially remove a timeout before calling event_del; patch from Christopher Layne.
svn:r519
2007-11-12 06:54:35 +00:00
Niels Provos
4a1a2e0d52 Make the logic for active events work better with internal events; patch from Christopher Layne
svn:r509
2007-11-12 02:31:07 +00:00
Niels Provos
bbed0954b1 revert r505; it introduced errors in epoll
svn:r508
2007-11-11 03:05:03 +00:00
Nick Mathewson
321dfd55d4 r16585@catbus: nickm | 2007-11-10 00:16:11 -0500
Patch from Christopher Layne: Make event_del() restore previous signal handlers, not the default.


svn:r506
2007-11-10 05:18:17 +00:00
Nick Mathewson
9f0f3d6da2 r16584@catbus: nickm | 2007-11-10 00:00:59 -0500
Patch from Christopher Lane: reduce branch count in epoll_dispatch.c and generally improve clarity.


svn:r505
2007-11-10 05:18:11 +00:00
Nick Mathewson
cabcd62f38 r16578@catbus: nickm | 2007-11-08 12:34:51 -0500
The == operator in shell is a bash-ism; do not use it in autogen.sh


svn:r503
2007-11-08 17:36:28 +00:00
Nick Mathewson
92cd548f80 r16544@catbus: nickm | 2007-11-07 16:12:37 -0500
Oops; forgot the log entry.


svn:r500
2007-11-07 21:14:04 +00:00
Nick Mathewson
f74e7258fd r16501@catbus: nickm | 2007-11-07 01:00:31 -0500
This is one of those patches which will either make matters far
 simpler after the bugs shake out, or will get reverted pretty quick
 once we realize that it is a stupid idea.
 
 We now post-process the config.h file into a new event-config.h file,
 whose macros are prefixed with _EVENT_ and which is thus safe for
 headers to include.  Using this, we can define replacement timeval
 manipulation functions in evutil.h, and use them uniformly through our
 code.  We can also detect which headers are needful in event.h, and
 include them as required.
 
 This is also the perfect time to remove the long-deprecated acconfig.h
 file, so that autoheader no longer warns.
 
 Should resolve the following issues:
 
 [ 1826530 ] Header files should have access to autoconf output.
 [ 1826545 ] acconfig.h is deprecated.
 [ 1826564 ] On some platforms, event.h can't be included alone.
 


svn:r492
2007-11-07 06:01:57 +00:00
Nick Mathewson
206d433638 r16497@catbus: nickm | 2007-11-07 00:01:02 -0500
Resolve issue 1826588: make event_base_free() succeed even if there are pending non-INTERNAL events still in the base.  This can leak memory and fds if used injudiciously, but at least it no longer crashes.


svn:r490
2007-11-07 05:02:21 +00:00
Nick Mathewson
bab0e6d440 r16492@catbus: nickm | 2007-11-06 23:27:32 -0500
Fix unit tests so that an outdated nameserver means "Skip IPv6 tests", not "Abort."


svn:r487
2007-11-07 04:28:54 +00:00
Nick Mathewson
7c507668d7 r16489@catbus: nickm | 2007-11-06 22:51:05 -0500
Do not use "class" as identifier in evdns.h; but use a backward-compatible fix. (Should fix bug 1826515, originally reported by Roger Clark)


svn:r486
2007-11-07 03:52:20 +00:00
Nick Mathewson
e9564eceb3 r16487@catbus: nickm | 2007-11-06 22:38:44 -0500
Remove rtsig method, as discussed in July.  It hasn't compiled for quite a while, and nobody has seemed to miss it much.  Please let us know if this was a bad call. [Tracker issue 1826539].


svn:r485
2007-11-07 03:40:26 +00:00
Nick Mathewson
81802bf98c r16473@catbus: nickm | 2007-11-06 15:55:35 -0500
Increment MAX_ADDRS in evdns so as to be quite large.  This is not as good as a general solution, but it may be good enough for practical use.


svn:r479
2007-11-06 20:57:37 +00:00
Nick Mathewson
d257a4c0d6 r16454@catbus: nickm | 2007-11-06 09:59:45 -0500
Small code cleanups in epoll_dispatch(): remove a needless variable and some redundant conditionals.


svn:r478
2007-11-06 20:57:32 +00:00
Nick Mathewson
d7d91461c8 r14732@tombo: nickm | 2007-11-05 22:03:28 -0500
Quick hack to make evhttp.h build when there is no TAILQ to be found.  Based on patch from Paul Fisher.  We could perhaps do this more elegantly, but it _does_ need to be done.


svn:r475
2007-11-06 03:04:49 +00:00
Nick Mathewson
1bcb112b20 r14698@tombo: nickm | 2007-11-03 22:20:23 -0400
Use libtool versioning correctly. Add comment to Makefile.am explaining how to keep this working.


svn:r472
2007-11-04 02:21:31 +00:00
Niels Provos
881731028b split libevent into two extra libraries libevent_core and libevent_extra
svn:r469
2007-11-03 23:45:38 +00:00
Niels Provos
1d3a008af3 provide hooks for outgoing pools; associate a base with a pool
svn:r468
2007-11-03 22:51:26 +00:00
Niels Provos
30ae40cc52 switch timeouts to a min heap; from Maxim Yegorushkin
svn:r467
2007-11-03 18:04:53 +00:00
Niels Provos
65236aa857 simple hooks for processing incoming and outgoing rpcs
svn:r466
2007-11-02 06:34:04 +00:00
Niels Provos
18ac92486f Solaris event port improvements
svn:r464
2007-10-27 17:50:07 +00:00
Nick Mathewson
49ede3be00 r15517@catbus: nickm | 2007-10-03 13:14:05 -0400
Correct the pointer manipulation in fake_getaddrinfo(), and do the right thing for fake_getaddrinfo(NULL,&ai).  Based on a patch by Lubmir Marinov, hacked until the unit tests passed on Linux with #undef HAVE_GETADDRINFO.


svn:r459
2007-10-03 17:19:22 +00:00
Nick Mathewson
bc7b7c249c Fix implementation of strsep.
svn:r457
2007-10-03 04:14:54 +00:00
Nick Mathewson
4ed4867375 r15496@catbus: nickm | 2007-10-02 15:06:22 -0400
Move end of "extern C {" block to the end of evdns.h.


svn:r456
2007-10-02 19:11:41 +00:00
Nick Mathewson
db43c1e111 On win32, sockets apparently can't be used with ReadFile and WriteFile: You need send() and recv() instead. Also, you need to use ioctlsocket() with sockets, not ioctl. [Fixes evbuffer regression tests.]
svn:r448
2007-09-20 19:36:03 +00:00
Nick Mathewson
1e1f77c5b0 Make the test/ subdirectory buildable under Windows. Well, mingw at least. The tests still don't all pass, but at least now we know that.
svn:r447
2007-09-20 19:08:20 +00:00
Nick Mathewson
f4c84e8628 r15220@catbus: nickm | 2007-09-20 14:22:57 -0400
Another patch from Trond: Skip calling gettime() in timeout_process if we have no events in the timetree.


svn:r445
2007-09-20 18:27:01 +00:00