69 Commits

Author SHA1 Message Date
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