1223 Commits

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