|
850c3ff2
|
2010-03-31T20:30:55
|
|
Add evutil_tv_to_msec for safe conversion of timevals to milliseconds.
This is useful for backends that require their timeout values be in
milliseconds.
|
|
2c2618d8
|
2010-03-05T13:00:15
|
|
more whitespace normalization
|
|
17efc1cd
|
2010-03-04T01:25:51
|
|
Update all our copyright notices to say "2010"
|
|
c8c6a897
|
2010-01-16T15:24:58
|
|
Minimize epoll_ctl calls by using changelist
The logic here is a little complex, since epoll_add must used called exactly
when no events were previously set, epoll_mod must be used when any events
were previously set, and epoll_del only called when the removing all events.
|
|
d0939d2b
|
2009-12-29T16:21:26
|
|
Introduced evutil_make_socket_closeonexec() to preserve fd flags for F_SETFD.
Use this to eliminate the various macros that called F_SETFD throughout
the code.
|
|
76cd2b70
|
2009-11-27T16:44:47
|
|
Stop passing EVTHREAD_READ and EVTHREAD_WRITE to non-rw locks.
Previously, our default lock model kind of assumed that every lock was
potentially a read-write lock. This was a poor choice, since
read-write locks are far more expensive than regular locks, and so the
lock API should only use them when we can actually take advantage of
them. Neither our pthreads or win32 lock implementation provided rw
locks.
Now that we have a way (not currently used!) to indicate that we
really want a read-write lock, we shouldn't actually say "lock this
for reading" or "lock this for writing" unless we mean it.
|
|
18a8cfac
|
2009-11-15T19:00:12
|
|
Prefer calloc(a,b) to malloc(a*b). via openbsd.
svn:r1531
|
|
784b8773
|
2009-11-06T21:46:57
|
|
We do not work any more without an event-config.h; stop pretending that it is meaningful to check for HAVE_CONFIG_H
svn:r1516
|
|
0fd0255f
|
2009-11-03T19:54:56
|
|
Remove compat/sys/_time.h
I've gone through everything that it declared to see where it was used,
and it seems that we probably don't need it anywhere.
Here's what it declared, and why I think we're okay dropping it.
o struct timeval {}
(Used all over, and we can't really get away with declaring it ourselves;
we need the same definition the system uses. If we can't find struct
timeval, we're pretty much sunk.)
o struct timespec {}
(Used in event.c, evdns.c, kqueue.c, evport.c. Of these,
kqueue.c and event.c include sys/_time.h. event.c conditions its use on
_EVENT_HAVE_CLOCK_GETTIME, and kqueue() only works if timespec is defined.)
o TIMEVAL_TO_TIMESPEC
(Used in kqueue.c, but every place with kqueue has sys/time.h)
o struct timezone {}
(event2/util.h has a forward declaration; only evutil.c references it and
doesn't look at its contents.)
o timerclear, timerisset, timercmp, timeradd, timersub
(Everything now uses the evutil_timer* variants.)
o ITIMER_REAL, ITIMER_VIRTUAL, ITIMER_PROF, struct itemerval
(These are only used in test/regress.c, which does not include _time.h)
o CLOCK_REALTIME
(Only used in evdns.c, which does not include _time.h)
o TIMESPEC_TO_TIMEVAL
o DST_*
o timespecclear, timespecisset, timespeccmp, timespecadd, timespecsub
o struct clockinfo {}
o CLOCK_VIRTUAL, CLOCK_PROF
o TIMER_RELTIME, TIMER_ABSTIME
(unused)
svn:r1494
|
|
2e36dbe1
|
2009-10-26T20:00:43
|
|
Use EVUTIL_ASSERT() consistently instead of assert.
svn:r1464
|
|
6b22e74a
|
2009-10-21T03:54:00
|
|
Add locking to event_base_loop.
This is harder than it sounds, since we need to make sure to
release the lock around the key call to the kernel (e.g.,
select, epoll_wait, kevent), AND we need to make sure that
none of the fields that are used in that call are touched by
anything that might be running concurrently in another
thread. I managed to do this pretty well for everything but
poll(). With poll, I needed to introduce a copy of the
event_set structure.
This patch also fixes a bug in win32.c where we called
realloc() instead of mm_realloc().
svn:r1450
|
|
e3fd294a
|
2009-10-16T13:19:57
|
|
Spelling fixes in comments and strings.
svn:r1445
|
|
2622e5ac
|
2009-09-16T17:17:57
|
|
Fix the assert I added to epoll.c: spotted by Dmitry Novikov
svn:r1432
|
|
85255a63
|
2009-09-11T18:47:35
|
|
Make epoll use less RAM.
We do this by not allocating the maximum epoll_event array for the epoll
backend at startup. Instead, we start out accepting 32 events at a time, and
double the array's size when it seems that the OS is generating events faster
than we're requesting them. This saves up to 374K per epoll-based
event_base. Resolves bug 2839240.
svn:r1428
|
|
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
|
|
8889a770
|
2009-01-27T22:30:46
|
|
Replace all use of config.h with event-config.h.
svn:r1064
|
|
554e1493
|
2009-01-14T20:52:32
|
|
Move per-fd info from eventops into evmap. Not done for win32.c yet.
svn:r1008
|
|
169321c9
|
2009-01-13T20:26:37
|
|
Rename four internal headers to follow the -internal.h convention.
svn:r1000
|
|
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
|
|
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
|
|
808f00e1
|
2008-12-13T06:11:12
|
|
constify structs; from Andrei Nigmatulin
svn:r959
|
|
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
|
|
39400e68
|
2008-05-30T16:56:34
|
|
Patch from Valery Kholodkov: support for edge-triggered events with epoll and kqueue. Changed from original patch: made test into a regression test, with explicit success/failure for edge-triggered and non-edge-triggered cases. Closes SF request 1968284.
svn:r840
|
|
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
|
|
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
|
|
3f3a1675
|
2008-04-17T19:17:50
|
|
r15219@tombo: nickm | 2008-04-17 15:12:17 -0400
Use new includes in epoll.c
svn:r716
|
|
f9f4d4fe
|
2008-04-11T20:02:50
|
|
r19309@catbus: nickm | 2008-04-11 16:02:07 -0400
Fix for epoll-on-linux bug (#1908866) where timeout values over (LONG_MAX-999)/HZ) (35 for me, or maybe 6 hours 50 min for some people, or maybe 3 hours 25 minutes for a special few) get treated as "wait forever". This actually deserves to be fixed in the kernel, but even if it is we will need to support Linux versions with this bug.
svn:r709
|
|
44ceb945
|
2008-04-10T19:34:50
|
|
r19305@catbus: nickm | 2008-04-10 15:34:10 -0400
Fix bug 1938754: do not warn when epoll_create() fails with ENOSYS.
svn:r706
|
|
ca42671a
|
2008-03-29T01:45:45
|
|
make event methods static so that they are not exported; from Andrei Nigmatulin
svn:r692
|
|
d80c1c36
|
2007-12-16T19:34:09
|
|
r17185@catbus: nickm | 2007-12-16 14:33:40 -0500
Fix compilation with --enable-gcc-warnings enabled.
svn:r599
|
|
fbe24f43
|
2007-12-09T05:07:20
|
|
remove obsoleted recalc code
svn:r581
|
|
5f3e3159
|
2007-11-27T01:39:10
|
|
move EV_PERSIST handling out of the event backends
svn:r555
|
|
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
|
|
88897852
|
2007-11-25T06:57:59
|
|
provide event_reinit() to reinitialized an event_base after fork - necessary for epoll/kqueue
svn:r539
|
|
bbed0954
|
2007-11-11T03:05:03
|
|
revert r505; it introduced errors in epoll
svn:r508
|
|
9f0f3d6d
|
2007-11-10T05:18:11
|
|
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
|
|
3c1bbca6
|
2007-11-07T02:30:17
|
|
r14744@tombo: nickm | 2007-11-06 21:30:11 -0500
Fix coding error: patch from Charles Kerr.
svn:r483
|
|
d257a4c0
|
2007-11-06T20:57:32
|
|
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
|
|
2026b215
|
2007-11-03T23:53:49
|
|
remove last vestiges of RBTREE
svn:r470
|
|
3ad6b47e
|
2007-07-30T22:41:00
|
|
make clock_monotonic work; do not use default timeout;
from Scott Lamb, plus some fixes from me.
svn:r371
|
|
41b7cbc3
|
2007-03-10T06:37:53
|
|
more the signal base into the event base; this removes global state and makes signals
work better with threading; from Wouter Wijngaards
small fixes for kqueue and style by me
svn:r351
|
|
b5d2f9a2
|
2007-03-01T06:25:18
|
|
rolling back r339: evconfig.h does not work
svn:r341
|
|
8d94bd03
|
2007-02-28T04:29:18
|
|
signal fixes from scott lamb
svn:r340
|
|
127c260b
|
2007-02-28T04:02:29
|
|
make evconfig.h available as installed header file; not
really ideal but good enough for me; from Nick Mathewson
svn:r339
|
|
2e8051f5
|
2006-03-28T04:40:54
|
|
introduce a way to free the base from Nick Mathewson <nickm@freehaven.net>
svn:r210
|
|
65644dfb
|
2005-11-12T19:04:17
|
|
solaris kernel changes are not backwards compatible - how retarded. problem
pointed out by: Geoffrey Giesemann
svn:r185
|
|
cdcfae7f
|
2005-05-10T08:14:39
|
|
call epoll_ctl after changing our state table; in case that epoll_ctl fails
we need to make sure that the table is consistent. from William Ahern
svn:r162
|
|
1919a4ae
|
2005-03-31T19:53:06
|
|
suppress valgrind warnings from knew -a- pimb.org
svn:r138
|
|
fbdaf3ab
|
2005-03-29T07:03:10
|
|
debugging callbacks from Nick Mathewson <nickm@freehaven.net>
svn:r136
|
|
3ba224db
|
2005-01-03T18:58:40
|
|
fixes for threaded operations from Andrew Danforth
svn:r129
|
|
8773c4c9
|
2004-11-25T09:50:18
|
|
make libevent thread-safe; first cut
svn:r122
|
|
96a25ae6
|
2004-09-19T22:38:34
|
|
when converting usec to msec round up; so that libevent does not spin until
the time conversion has caught up; from Aaron Hopkins <aaron at die.net>
svn:r121
|
|
6df2ede5
|
2004-08-10T18:29:37
|
|
close file descriptors on exec(); suggested by aaron at die.net
svn:r119
|
|
e1cd86d7
|
2003-10-25T21:58:33
|
|
fixes to handle error cases by Anatoly Vorobey at pobox.com
svn:r90
|
|
c3f496c7
|
2003-10-04T23:27:26
|
|
minor corrections; change license to 3-clause BSD license
svn:r84
|
|
cde427c1
|
2003-06-24T14:45:21
|
|
found a bug where specifying both read|write for a single event let to
a crash; found by Bruno Achauer
svn:r73
|
|
b0b72eb0
|
2003-04-09T18:12:11
|
|
use maximum number of fds for epoll_create; from Davide Libenzi
svn:r63
|
|
1ed00256
|
2003-03-10T05:13:02
|
|
fix type
svn:r58
|
|
eb646205
|
2003-03-09T23:29:04
|
|
style
svn:r54
|
|
28d248e0
|
2003-03-08T16:50:27
|
|
copyright
svn:r52
|
|
cde7a352
|
2003-03-08T06:37:56
|
|
fix signal usage
svn:r45
|
|
3e41f17a
|
2003-03-07T23:20:36
|
|
support for Linux eventpoll mechanism
svn:r42
|