Nick Mathewson
ba8a17714e
Do not notify the main thread more than needed.
...
Basically, we suppress the notification when an event is added or deleted
and:
- The event has no fd, or there is no change in whether we are
reading/writing on the event's fd.
- The event has no timeout, or adding the event did not make the earliest
timeout become earlier.
This should be a big efficiency win in applications with multiple threads and
lots of timeouts.
svn:r1439
2009-10-02 03:03:58 +00:00
Nick Mathewson
c2ead9f173
Treat events with fd == -1 as addable.
...
This turns out to simplify a fair bit of logic, including the bufferevent
code, and should fix bug 2850656.
svn:r1431
2009-09-11 21:02:19 +00:00
Nick Mathewson
5b5b880be7
Various MSVC cleanups from Brodie Thiesfield.
...
svn:r1385
2009-07-28 19:41:39 +00:00
Nick Mathewson
64a37e61a1
Fix evmap indentation to be less stupid.
...
svn:r1185
2009-04-17 06:56:36 +00:00
Nick Mathewson
b85b710cf5
Update copyright statements to reflect the facts that:
...
a) this is 2009
b) niels and nick have been comaintainers for a while
c) saying "all rights reserved" when you then go on to explicitly
disclaim some rights is sheer cargo-cultism.
svn:r1065
2009-01-27 22:34:36 +00:00
Nick Mathewson
8889a77039
Replace all use of config.h with event-config.h.
...
svn:r1064
2009-01-27 22:30:46 +00:00
Niels Provos
0e779906f9
fix memleak in evmap_signal_clear; from Alexander Drozdov
...
svn:r1049
2009-01-26 06:13:24 +00:00
Nick Mathewson
554e14934e
Move per-fd info from eventops into evmap. Not done for win32.c yet.
...
svn:r1008
2009-01-14 20:52:32 +00:00
Nick Mathewson
ad7f1b4ae9
The element size for our linear evmaps is a pointer, not the whole struct.
...
svn:r1006
2009-01-14 18:45:42 +00:00
Nick Mathewson
6bb2f84216
Add initializer functions for evmap types.
...
svn:r1005
2009-01-14 18:38:03 +00:00
Nick Mathewson
9935d5b01e
Fix win32 compilation. Surprisingly, unit tests pass too.
...
svn:r1002
2009-01-13 21:39:32 +00:00
Nick Mathewson
169321c9e6
Rename four internal headers to follow the -internal.h convention.
...
svn:r1000
2009-01-13 20:26:37 +00:00
Nick Mathewson
91e3ead85e
Improve the hashsocket function.
...
svn:r989
2009-01-10 14:37:45 +00:00
Nick Mathewson
55bcd7d2f0
On win32, use a hashtable to map sockets to events rather than using an array.
...
svn:r988
2009-01-09 13:42:21 +00:00
Nick Mathewson
8f5777e692
Document internal evmap functions, add a couple of asserts, and fix up some things that did not need to be void* any more
...
svn:r987
2009-01-09 05:01:48 +00:00
Niels Provos
172b657567
malloc fd only if it is needed.
...
svn:r982
2009-01-02 18:18:30 +00:00
Niels Provos
30cba6d0b3
we cannot realloc memory used by TAILQ; instead malloc each slot individually
...
svn:r977
2008-12-25 09:22:13 +00:00
Niels Provos
b55ca7de1c
reduce void *age a little bit
...
svn:r975
2008-12-23 22:31:27 +00:00
Niels Provos
02b2b4d1be
Restructure the event backends so that they do not need to keep track of events themselves, as a side effect multiple events can use the same fd or signal.
...
svn:r972
2008-12-23 16:37:01 +00:00