Nick Mathewson
49f18a0aab
Add requirement in configure.in for autoconf 2.59c. Needed for ssize_t test. Spotted by Yang Hong.
...
svn:r1313
2009-05-25 20:02:51 +00:00
Nick Mathewson
dfe321e1ee
Add missing windows include in time-test.c
...
svn:r1311
2009-05-22 20:11:29 +00:00
Nick Mathewson
e8343e9ff1
work around missing __func__ in sample code
...
svn:r1310
2009-05-22 19:11:59 +00:00
Nick Mathewson
0b22ca1929
Use ev_ssize_t in place of ssize_t *everywhere*.
...
svn:r1309
2009-05-22 19:11:48 +00:00
Nick Mathewson
7289d7f800
Fix a potentially very annoying evdns bug that we found in Tor.
...
Generally speaking, it way better to event_assign() an event when you
allocate it than to assign it before every time you event_add it: if
it is already event_add()ed, the assign will mess it up so that it
doesn't _look_ added, and event_add() will insert a second copy.
Later, event_del() will only delete the second copy. Eventually, the
event_base will have a dangling pointer to freed memory. Ouch!
svn:r1307
2009-05-22 18:20:59 +00:00
Nick Mathewson
7a844735d5
Fix some small win32 build issues on trunk.
...
svn:r1306
2009-05-22 17:20:05 +00:00
Nick Mathewson
8c66eb2e9b
Try to contain the failure when we are running without socketpair().
...
Some win32 systems (mostly those using Kaspersky, it would seem)
prevent us from faking socketpair(). This makes our signal
notification code just not work. Our response since 1.4 has been to
assert. For users who would rather work without signals than not work
at all, this has been a regression from 1.3e.
This patch makes adding signal events fail in this case; there's no
reason to kill the whole process.
svn:r1303
2009-05-22 14:48:40 +00:00
Nick Mathewson
59cd49363c
Do not free the event base lock until we are done removing all the events. Spotted by Joachim Bauch; fixes bug 2795402.
...
svn:r1302
2009-05-22 14:31:07 +00:00
Nick Mathewson
1ee65b7f94
Do not assume we know the value for FD_CLOEXEC.
...
svn:r1301
2009-05-21 20:59:17 +00:00
Nick Mathewson
7e3ea82ee6
Disallow backlog==0 in evconnlistener_new_bind().
...
svn:r1300
2009-05-21 20:59:09 +00:00
Nick Mathewson
8997f234f2
Use the native "struct iovec" as our "struct evbuffer_iovec" when available, so we do not need to copy more pointers than necessary.
...
svn:r1299
2009-05-21 20:59:00 +00:00
Nick Mathewson
594842970e
Fix a deadlock: there were some LOCKs that should have been UNLOCKs. Resolves bug 2794244
...
svn:r1298
2009-05-20 12:24:13 +00:00
Nick Mathewson
66df9dafe1
Add changelog for last commit
...
svn:r1297
2009-05-19 21:49:53 +00:00
Nick Mathewson
23243b8a98
Replace reserve/commit with new iovec-based interface. Add a new evbuffer_peek.
...
svn:r1296
2009-05-19 21:39:35 +00:00
Nick Mathewson
ed1bbc7a9f
Tweak the evconnlistener interface a little.
...
svn:r1295
2009-05-18 16:15:56 +00:00
Nick Mathewson
dc4c7b9570
Change the interface of evbuffer_add_reference: give the cleanup function more info.
...
svn:r1294
2009-05-15 22:44:18 +00:00
Nick Mathewson
bba69e03f8
New semantics for evbuffer_cb_set_flags().
...
Previously, set_flags() would replace all previous user-visible flags.
Now it just sets the flags, and there is a clear_flags() function to
clear other flags.
svn:r1293
2009-05-15 20:23:59 +00:00
Nick Mathewson
b4886ec80d
Trim 22 bytes from struct event on 32 bit platforms, more on 64-bit platforms.
...
svn:r1292
2009-05-15 18:44:44 +00:00
Nick Mathewson
85b0a7a23f
We were distributing the wrong event-config.h with our source distributions. Fix that.
...
svn:r1289
2009-05-15 01:38:23 +00:00
Nick Mathewson
27fef1ef26
Note problems with some newer evbuffer interfaces.
...
svn:r1286
2009-05-14 18:06:41 +00:00
Nick Mathewson
3e759a0172
Actually, do not provide a compatibility name "EVBUFFER_CONNECTED": there is no old code that uses it.
...
svn:r1285
2009-05-14 18:06:29 +00:00
Nick Mathewson
31d89f274b
Add a "ctrl" mechanism to bufferevents for property access.
...
OpenSSL uses something like this to implement get/set access for
properties on its BIOs, so that it doesn't need to add a pair of
get/set functions to the vtable struct for every new abstract property
it provides an accessor for.
Doing this lets us make bufferevent_setfd abstract, and implement an
abstract bufferevent_getfd.
svn:r1284
2009-05-13 20:37:21 +00:00
Nick Mathewson
83f46e51d7
Do not use the "evbuffer_" prefix to denote parts of bufferevents.
...
This is a bit of an interface doozy, but it's really needed in order
to be able to document this stuff without apologizing it. This patch
does the following renamings:
evbuffercb -> bufferevent_data_cb
everrorcb -> bufferevent_event_cb
EVBUFFER_(READ,WRITE,...) -> BEV_EVENT_(...)
EVBUFFER_(INPUT,OUTPUT) -> bufferevent_get_(input,output)
All the old names are available in event2/bufferevent_compat.h
svn:r1283
2009-05-13 20:36:56 +00:00
Nick Mathewson
f11dff2c7a
Add and use locale-independent strcasecmp functions.
...
svn:r1280
2009-05-07 03:45:51 +00:00
Nick Mathewson
8910901020
Addition to bufferevent_async unit test
...
svn:r1279
2009-05-06 02:34:10 +00:00
Nick Mathewson
a8bcbfd416
Fix bufferevent_async to use lock/unlock, not unlock/unlock.
...
You do NOT want to know what windows does when you unlock a lock that is already unlocked.
svn:r1278
2009-05-06 02:33:37 +00:00
Nick Mathewson
fe47003d06
Make unit tests for bufferevent_async compile and _almost_ work.
...
Either I need to make the callbacks get deferred in a base with no events (doable), or I need to make it okay to call launch_read from inside the callback for read (tricky).
svn:r1277
2009-05-05 16:52:37 +00:00
Nick Mathewson
02801e5be5
Add a trival start of a be_async test.
...
svn:r1276
2009-05-05 15:36:28 +00:00
Nick Mathewson
af8b82224b
Add missing include to buffer_iocp.c
...
svn:r1275
2009-05-05 15:30:58 +00:00
Nick Mathewson
b69d03b5a8
Add a constructor for bufferevent_async.
...
svn:r1274
2009-05-05 14:18:14 +00:00
Nick Mathewson
6b21fe2be8
oops; do not forget to distribute listener.h
...
svn:r1273
2009-05-05 03:01:24 +00:00
Nick Mathewson
659d54d530
Add new code to make and accept connections.
...
This is stuff that it's easy to get wrong (as I noticed when writing
bench_http), and that takes up a fair amount of space (see http.c).
Also, it's something that we'll eventually want to abstract to use
IOCP, where available.
svn:r1272
2009-05-05 02:59:26 +00:00
Nick Mathewson
0fd70978c8
Add an event_get_base() function to remove one more reason to include event_struct.h
...
svn:r1271
2009-05-05 01:09:03 +00:00
Nick Mathewson
0e63e72a05
Nothing ever sets event_sigcb or event_gotsig any more: remove them.
...
svn:r1270
2009-05-03 18:56:08 +00:00
Nick Mathewson
bd73ed48e5
Revise regress_pthreads.c to not use event_set
...
svn:r1269
2009-05-02 16:24:23 +00:00
Nick Mathewson
5a3eddf03f
Use fewer _compat.h headers in our own code.
...
svn:r1268
2009-05-02 16:24:05 +00:00
Nick Mathewson
d5ca076379
Move event_set() and friends to event2/event_compat.h.
...
These functions are deprecated in favor of event_assign().
svn:r1267
2009-05-02 16:23:29 +00:00
Nick Mathewson
00ecd1d8e4
Make evrpc use event2/rpc*.h, not evrpc.h
...
svn:r1266
2009-05-02 16:23:08 +00:00
Nick Mathewson
7b24d72ad6
Remove some duplicated includes in evdns.c
...
svn:r1265
2009-05-02 16:22:55 +00:00
Nick Mathewson
a109d95c72
Add changelog entry for vc++ fixes
...
svn:r1264
2009-05-02 16:11:06 +00:00
Nick Mathewson
1aebcd5047
Initial core implementation of bufferevent_async.c
...
svn:r1263
2009-05-01 01:42:33 +00:00
Nick Mathewson
e865eb938c
More msvc build tweaks.
...
svn:r1262
2009-05-01 00:54:14 +00:00
Nick Mathewson
b2e8fd0e41
Apparently MSVC lacks a ssize_t. Define an ev_ssize_t for headers, and make ssize_t work elsewhere.
...
svn:r1261
2009-04-30 23:56:53 +00:00
Nick Mathewson
ebf294559e
Compilation fixes for vc++ 2008 express. Not the end of them.
...
svn:r1260
2009-04-30 23:49:15 +00:00
Nick Mathewson
7f9678079f
Initial unit test for overlapped evbuffer usage. It's lame, but it doesn't crash any more.
...
svn:r1259
2009-04-30 20:48:40 +00:00
Nick Mathewson
efc24f7cf1
Get launch_read and launch_write to (apparently) work.
...
svn:r1258
2009-04-30 20:47:38 +00:00
Nick Mathewson
23121bfb41
Fix a reversed check in upcast_evbuffer
...
svn:r1257
2009-04-30 19:56:23 +00:00
Nick Mathewson
16612eb936
Beef up the events in the last test a little.
...
svn:r1256
2009-04-30 19:20:42 +00:00
Nick Mathewson
ec1468832e
Oops: actually commit changes to build and use regress_iocp
...
svn:r1255
2009-04-30 19:05:43 +00:00
Nick Mathewson
f1090833b2
First tests for IOCP loop, and related fixes.
...
The fixes are: a shutdown mode that works, and a way to activate an
arbitrary event_overlapped.
svn:r1254
2009-04-30 19:04:44 +00:00