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
Nick Mathewson
b45cead762
Make environment-variable tests work on win32, which has only one method and lacks (un)setenv.
...
svn:r1253
2009-04-30 18:05:33 +00:00
Nick Mathewson
24607a397c
Note a place we might do better about lock releasing.
...
svn:r1252
2009-04-29 20:48:43 +00:00
Nick Mathewson
50e20fe076
fix a typo in a comment
...
svn:r1251
2009-04-29 20:48:35 +00:00
Nick Mathewson
37bc34662b
Catch attempts to event_base_once a persistent event.
...
svn:r1250
2009-04-29 20:48:28 +00:00
Nick Mathewson
1959414120
Clarify semantics on event_pending()
...
svn:r1249
2009-04-29 20:48:21 +00:00
Nick Mathewson
9ad45eef75
Patch from Eric Hopper: the test for EVENT_BASE_FLAG_IGNORE_ENV was inverted.
...
svn:r1248
2009-04-28 19:08:36 +00:00
Nick Mathewson
586aa46886
Unit test for disabling events with EVENT_NO*, and for EVENT_BASE_FLAG_IGNORE_ENV.
...
svn:r1247
2009-04-28 19:08:27 +00:00
Nick Mathewson
2ebfd3bafd
Oops. We never actually defined event_config_set_flag().
...
svn:r1246
2009-04-28 19:08:17 +00:00
Nick Mathewson
11cab33418
Fix compile: #elif FOO is not the same as #elif defined(FOO).
...
svn:r1245
2009-04-28 19:08:07 +00:00
Niels Provos
a146af1db8
move more code directly into evrpc.c; provide backwards compatible vararg macros
...
svn:r1244
2009-04-25 00:15:55 +00:00
Niels Provos
b228ff91b8
remove vararg macros for accessing evrpc structs
...
svn:r1243
2009-04-25 00:15:31 +00:00
Niels Provos
f69cd80d17
refactor evrpc.h header filer
...
svn:r1242
2009-04-25 00:15:09 +00:00
Niels Provos
bbf79707f9
refactor evrpc.h header filer
...
svn:r1241
2009-04-25 00:14:58 +00:00
Niels Provos
5c4c13d8c2
make sendfile work on freebsd
...
svn:r1239
2009-04-24 03:24:22 +00:00
Nick Mathewson
a5897917da
Changelog entry for r1237
...
svn:r1238
2009-04-23 21:43:44 +00:00
Nick Mathewson
ec6bfd0335
Fix for evbuffer_read() when all data fits in penultimate chain.
...
Previously we were reading into the next-to-last chain, but incrementing
the fullness of the last. Bug found by Victor Goya.
svn:r1237
2009-04-23 21:41:53 +00:00
Nick Mathewson
faa756c7c1
Oops. event_config.flags was never initialized. Bugfix on 2.0.1-alpha. Found by Victor Goya.
...
svn:r1236
2009-04-23 21:34:37 +00:00
Nick Mathewson
d70b080488
Make main/methods test pass on systems where only one backend exists.
...
svn:r1235
2009-04-23 18:08:42 +00:00
Nick Mathewson
1ad0326440
Fix win32 compilation issues.
...
svn:r1234
2009-04-23 18:04:50 +00:00
Nick Mathewson
c5c9589fb0
Add missing case to make http.c compile with warnings enabled.
...
svn:r1232
2009-04-23 06:27:58 +00:00
Nick Mathewson
9516df0e2e
Fix c89 bugs reported by Cory Stup.
...
Others may remain. I wasn't able to get gcc --std=c89 to build libevent
at all, so I don't know what compiler the original reporter is using here.
Note that this change requires us to disable the part of our rpc code
that uses variadic macros when using a non-gcc compiler. This is a
problem if we want our rpc api to be portable.
svn:r1231
2009-04-23 05:40:06 +00:00
Nick Mathewson
8ba25b9ec7
Add missing regress_minheap.c file
...
svn:r1230
2009-04-23 05:20:08 +00:00
Nick Mathewson
5c104cef51
Add a randomized test for heap correctness.
...
svn:r1229
2009-04-23 00:33:37 +00:00
Nick Mathewson
df0617f289
Use signal.h, not sys/signal.h.
...
This is patch 2673214 from mmadia. It is correct, since we unconditionally
include signal.h in many other places, and only sometimes include sys/signal.h.
It is necessary to compile on Haiku, I'm told.
svn:r1228
2009-04-23 00:21:23 +00:00
Nick Mathewson
8b7a3b3676
Fix min_heap_erase when we remove an element from the middle of the heap.
...
Previously, we could lose the heap property when we removed an item
whose parent was greater than the last element in the heap. We would
replace the removed item with the last element, and consider shifting
it down, but we wouldn't consider shifting it up.
Patch from Marko Kreen.
svn:r1226
2009-04-23 00:01:24 +00:00