event.c


Log

Author Commit Date CI Message
Nick Mathewson ebf29455 2009-04-30T23:49:15 Compilation fixes for vc++ 2008 express. Not the end of them. svn:r1260
Nick Mathewson 37bc3466 2009-04-29T20:48:28 Catch attempts to event_base_once a persistent event. svn:r1250
Nick Mathewson 9ad45eef 2009-04-28T19:08:36 Patch from Eric Hopper: the test for EVENT_BASE_FLAG_IGNORE_ENV was inverted. svn:r1248
Nick Mathewson 2ebfd3ba 2009-04-28T19:08:17 Oops. We never actually defined event_config_set_flag(). svn:r1246
Nick Mathewson faa756c7 2009-04-23T21:34:37 Oops. event_config.flags was never initialized. Bugfix on 2.0.1-alpha. Found by Victor Goya. svn:r1236
Nick Mathewson 253151c5 2009-04-22T20:28:30 Detect and reject n_priorities less than 1. svn:r1222
Nick Mathewson 11ff74cf 2009-04-22T19:41:23 Add a flag to disable checking the EVENT_* environment variables. svn:r1220
Nick Mathewson d047b323 2009-04-17T17:22:32 Increment version to 2.0.1-alpha, and add a numeric version facility svn:r1193
Nick Mathewson 7fa8451d 2009-04-17T06:56:57 Add a configure flag to hardcode all of our mm functions. svn:r1186
Nick Mathewson fe95df15 2009-04-13T18:32:24 Fix typo in mm_free svn:r1173
Nick Mathewson 81616620 2009-04-10T14:58:15 A couple of tweaks for deferred callbacks. svn:r1151
Nick Mathewson 4868f4d2 2009-04-10T14:22:33 Initial support for a lightweight 'deferred callbacks'. A 'deferred callback' is just a function that we've queued in the event base. This ability is needed for some mt stuff, and for complex callback chains. For internal use only. svn:r1150
Nick Mathewson e3d82497 2009-04-10T14:21:53 Don't allow internal events to starve lower-priority events. This is exceptionally important with multithreaded stuff, where we use an event to notify the base that other events have been made active. If the activated events have a prioirty number greater than that of the notification event, it will starve them, and that's no good. svn:r1149
Nick Mathewson f98385a4 2009-04-08T16:57:38 add a missing "static" to timeout_process. svn:r1145
Nick Mathewson ec35eb55 2009-02-12T22:19:54 Make threading functions global, like the mm_ functions. Use the libevent_pthread.la library in regress_pthread. svn:r1121
Nick Mathewson b85b710c 2009-01-27T22:34:36 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
Nick Mathewson 8889a770 2009-01-27T22:30:46 Replace all use of config.h with event-config.h. svn:r1064
Nick Mathewson 9993137c 2009-01-27T21:10:31 Remove all trailing whitespace in all the source files. svn:r1063
Niels Provos 1c927b7d 2009-01-27T16:29:48 fix memory leak whens etting up priorities; reported by Alexander Drozdov svn:r1061
Nick Mathewson f20902a2 2009-01-22T17:56:15 Remove evperiodic_assign and its related parts: its functionality is subsumed by EV_PERSIST timeouts. svn:r1040
Nick Mathewson 5e6f6dcd 2009-01-22T17:48:55 Use EV_PERSIST on notify event for efficiency and simplicity. svn:r1039
Niels Provos 56ea4687 2009-01-22T02:33:38 Change the semantics of timeouts in conjunction with EV_PERSIST; timeouts in that case will now repeat until deleted. svn:r1032
Niels Provos ed7e0e77 2009-01-19T23:40:11 bug fix and potentital race condition from Alexander Drozdov svn:r1025
Nick Mathewson a5901991 2009-01-19T20:37:24 Use eventfd for main-thread notification where available (i.e., linux). svn:r1023
Nick Mathewson c3e9fcf6 2009-01-19T20:22:47 Change the semantics of notify so we can implement it with eventfd or (given a different backend for win32) a windows Event. svn:r1022
Nick Mathewson 34d2fd06 2009-01-19T19:46:03 Debug and enable pipe notification svn:r1021
Nick Mathewson ec4cfa33 2009-01-19T01:34:14 Make event_break threadsafe; make notify-thread mechanism a little more generic; let it use pipes where they work. svn:r1019
Nick Mathewson 6bb2f842 2009-01-14T18:38:03 Add initializer functions for evmap types. svn:r1005
Nick Mathewson 169321c9 2009-01-13T20:26:37 Rename four internal headers to follow the -internal.h convention. svn:r1000
Nick Mathewson 55bcd7d2 2009-01-09T13:42:21 On win32, use a hashtable to map sockets to events rather than using an array. svn:r988
Niels Provos d776f846 2008-12-23T22:23:37 deprecate the usage of signal_{add,del,set} and name it evsignal_{add,del,set} instead; move the old definitions to compat svn:r973
Niels Provos 02b2b4d1 2008-12-23T16:37:01 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
Niels Provos 77867244 2008-12-19T21:02:36 memory leak: forgot to free the configuration object svn:r961
Niels Provos 808f00e1 2008-12-13T06:11:12 constify structs; from Andrei Nigmatulin svn:r959
Niels Provos 4fa4a562 2008-11-27T19:57:48 fix a typo in setting the global event base; reported by lance svn:r953
Niels Provos 4fe25cef 2008-11-27T19:27:33 Clear the timer cache when leaving the event loop; reported by Robin Haberkorn svn:r950
Niels Provos 31cfe526 2008-10-30T19:38:31 clear the timer cache on entering event loop; reported by Victor Chang svn:r944
Nick Mathewson c97ee898 2008-09-26T13:36:15 Fix: do not crash when asked to configure an impossible event_base svn:r942
Nick Mathewson de069b99 2008-09-05T16:29:56 On win32, errno is not the last socket error. Worse, WSAGetLastError() is not the last socket error sometimes (i.e., EWOULDBLOCK). Also, strerror() does not handle winsock errors. Therefore, event_err() and event_warn() are completely wrong for windows socket errors. Fix that. svn:r936
Niels Provos cca2f8fa 2008-07-25T01:29:54 make event_add not change any state if it fails; repoted by Ian Bell svn:r923
Niels Provos 3b24f4ee 2008-07-25T00:48:30 another fix; we also need to remove the signal event from the queue svn:r918
Niels Provos e67a5ea9 2008-07-25T00:19:15 fix a problem with epoll and event_reinit; reported by Alexander Drozdov svn:r917
Niels Provos f7e61870 2008-07-11T15:49:04 support multiple events listening on the same signal; make signals regular events that go on the same event queue svn:r901
Niels Provos 60e4c067 2008-06-24T22:41:43 add an event_debug statement for executing active events. svn:r865
Niels Provos 35b1236c 2008-06-24T15:29:41 change write to send for windows. svn:r859
Nick Mathewson 05965921 2008-05-31T14:37:31 Add new functions to access backends by their features and to query the features of a backend. svn:r842
Niels Provos 2deb3ce0 2008-05-29T01:39:43 simplify handling of environment variables for disabling backends; make event_get_supported_methods obey environment variables; this fixes make verify; problem reported by Scott Lamb. svn:r838
Niels Provos 8b66f1bd 2008-05-17T02:14:17 constify struct timeval * svn:r836
Niels Provos 134344b7 2008-05-16T01:55:40 Fix use of freed memory in event_reinit; pointed out by Peter Postma svn:r834
Nick Mathewson a68de252 2008-05-15T03:49:03 r19749@catbus: nickm | 2008-05-14 23:48:44 -0400 New function to dump inserted and active events. Also do not recv() on an int array. svn:r829
Niels Provos f9b4ee0a 2008-05-15T03:19:05 replace write/read/close with send/recv/EVUTIL_CLOSESOCKET svn:r828
Niels Provos 90ddd91f 2008-05-15T03:14:48 do not include sys/time.h on windows svn:r826
Nick Mathewson 03fafae0 2008-05-12T01:03:36 Make trunk event.c build happily on win32 under mingw. svn:r811
Nick Mathewson 8acb80b4 2008-05-08T22:51:39 r15551@tombo: nickm | 2008-05-08 14:49:20 -0400 Use _get_ convention for new accessor functions. (These are all new ones as of 2.0, I believe). svn:r799
Nick Mathewson 3d60bccc 2008-05-08T14:25:44 r19656@catbus: nickm | 2008-05-08 10:25:08 -0400 forward-port: Remove #include "misc.h"s. svn:r795
Nick Mathewson a26442c5 2008-05-08T14:06:33 r19649@catbus: nickm | 2008-05-08 10:00:14 -0400 Replace gettimeofday() usage with a new evutil_gettimeofday(). This removes all previous need for win32-code/misc.[ch] svn:r792
Niels Provos 3f56e364 2008-05-08T05:56:20 event_base_new_with_config() and related methods svn:r789
Niels Provos 3b2022ef 2008-05-08T05:33:15 provide an api for retrieving the supported event mechanisms svn:r788
Nick Mathewson d0c3644e 2008-05-05T15:45:30 r19599@catbus: nickm | 2008-05-05 11:26:18 -0400 Turn event_initialized() and friends into a function; add function equivalents for EVENT_FD and EVENT_SIGNAL. svn:r773
Nick Mathewson 40a44b36 2008-05-04T17:23:20 r19564@catbus: nickm | 2008-05-04 13:23:10 -0400 Fix compile with --enable-gcc-warnings and clock_gettime() svn:r766
Niels Provos 181007b9 2008-05-03T22:14:44 make event_assign void; it cannot return an error svn:r763
Niels Provos 1d30750b 2008-05-03T22:10:09 support for periodic timeouts svn:r762
Niels Provos 8c750eaf 2008-05-03T21:37:33 separate signal events from io events svn:r760
Niels Provos 45e6fb0d 2008-05-03T18:23:44 cache clock_gettime/gettimeofday values in base svn:r758
Nick Mathewson 5fbc7f0a 2008-05-02T16:28:25 r15439@tombo: nickm | 2008-05-02 12:28:08 -0400 use event_assign internall; switch uses of event_set to use event_assign instead. svn:r755
Nick Mathewson fe2e7307 2008-04-25T01:29:15 r15320@tombo: nickm | 2008-04-24 21:29:06 -0400 Yes, niels says this is safe. svn:r727
Nick Mathewson 94fb4d0a 2008-04-25T01:18:18 r15317@tombo: nickm | 2008-04-24 21:17:49 -0400 Add new functions to be more threadsafe (and structure-ignorant) than event_set. svn:r726
Nick Mathewson 49868b61 2008-04-25T01:18:08 r15316@tombo: nickm | 2008-04-24 20:58:36 -0400 Rename internal memory management functions from event_malloc() etc to mm_malloc() etc. svn:r725
Nick Mathewson 0ac73078 2008-04-16T20:01:51 r15193@tombo: nickm | 2008-04-16 16:00:35 -0400 Split event.h into several new headers in include/event2. event.h is now just a wrapper that includes all the subheaders. svn:r711
Niels Provos cb50f615 2008-03-11T05:26:30 rename lock create callback functions; as suggested by nick svn:r691
Niels Provos c182baca 2008-03-10T03:17:20 switch thread support so that locks get allocated as they are needed. svn:r690
Niels Provos 558de9b3 2008-03-02T21:18:33 Provide OpenSSL style support for multiple threads accessing the same event_base svn:r684
Niels Provos bb914ed9 2008-02-25T07:34:07 do not insert event into list when evsel->add fails svn:r660
Niels Provos 8ab61891 2008-02-16T06:09:39 event_base_get_method; from Springande Ulv svn:r635
Niels Provos 8c66d4e2 2008-01-26T07:29:57 remove pending timeouts on event_base_free svn:r627
Niels Provos 03589ccb 2007-12-24T22:49:30 rollback r594: restructuring to make event activation independent. changes are going to wait for api design svn:r612
Niels Provos 7aa845b7 2007-12-16T04:10:30 restructure the code to make event activation independent of regular event logic svn:r594
Niels Provos fbe24f43 2007-12-09T05:07:20 remove obsoleted recalc code svn:r581
Nick Mathewson 77861fa7 2007-12-06T19:20:24 r16931@catbus: nickm | 2007-12-06 14:19:58 -0500 Fix warnings in debug messages svn:r577
Nick Mathewson 3206bbca 2007-12-06T18:12:56 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
Niels Provos ef085e84 2007-11-27T06:45:25 we need to pass the evbase to evsel->add svn:r558
Niels Provos 5f3e3159 2007-11-27T01:39:10 move EV_PERSIST handling out of the event backends svn:r555
Nick Mathewson 1120f04f 2007-11-25T21:53:06 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
Nick Mathewson 7eb250e9 2007-11-25T17:14:19 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
Niels Provos 98b5453e 2007-11-25T07:11:59 forgot to dealloc previous base svn:r540
Niels Provos 88897852 2007-11-25T06:57:59 provide event_reinit() to reinitialized an event_base after fork - necessary for epoll/kqueue svn:r539
Nick Mathewson 1c23e219 2007-11-17T22:21:42 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
Niels Provos f586f428 2007-11-14T17:52:21 provide event_base_new() as a mechanism for not setting the current_global svn:r529
Niels Provos d50afbb3 2007-11-13T03:32:10 free minheap; from Christopher Layne svn:r525
Niels Provos 3742868a 2007-11-12T06:54:35 We do not need to specially remove a timeout before calling event_del; patch from Christopher Layne. svn:r519
Niels Provos 4a1a2e0d 2007-11-12T02:31:07 Make the logic for active events work better with internal events; patch from Christopher Layne svn:r509
Nick Mathewson 45c7ab25 2007-11-07T07:33:36 r16510@catbus: nickm | 2007-11-07 02:29:42 -0500 Try not to shadow local variables or function arguments. svn:r498
Nick Mathewson f74e7258 2007-11-07T06:01:57 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
Nick Mathewson 206d4336 2007-11-07T05:02:21 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
Nick Mathewson e9564ece 2007-11-07T03:40:26 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
Niels Provos a5271518 2007-11-07T01:48:44 make event_init should return struct event_base * svn:r481
Niels Provos 2026b215 2007-11-03T23:53:49 remove last vestiges of RBTREE svn:r470
Niels Provos 30ae40cc 2007-11-03T18:04:53 switch timeouts to a min heap; from Maxim Yegorushkin svn:r467
Nick Mathewson f4c84e86 2007-09-20T18:27:01 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
Niels Provos 10267216 2007-07-30T23:49:00 initalize ev_res from Scott Lamb svn:r372