evthread-internal.h


Log

Author Commit Date CI Message
Nick Mathewson 17efc1cd 2010-03-04T01:25:51 Update all our copyright notices to say "2010"
Nick Mathewson e5bbd40a 2010-02-18T17:41:15 Clean up formatting: use tabs, not 8-spaces, to indent.
Nick Mathewson 97a8c790 2010-01-22T00:34:21 Fix compilation of rate-limit code when threading support is disabled
Nick Mathewson 689fc091 2009-11-28T11:31:39 New EVTHREAD_TRY_LOCK function to try to grab a lock.
Nick Mathewson 0cd3bb9f 2009-11-27T17:22:19 Improved optional lock debugging. There were a couple of places in the code where we manually kept lock counts to make sure we never accessed resources without holding a lock, and that we never released a lock we didn't have. The lock-debugging code already puts counts on _every_ lock when lock debugging is enabled, so there is no need to keep these counts around otherwise. This patch rewrites the ASSERT_FOO_LOCKED macros to all use a common EVLOCK_ASSERT_LOCKED(). We also teach the lock debugging code to keep track of who exactly holds each lock, so that EVLOCK_ASSERT_LOCKED() means "locked by this thread."
Nick Mathewson 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.
Nick Mathewson 347952ff 2009-11-27T15:20:43 Revise the locking API: deprecate the old locking callbacks and add trylock. Previously, there was no good way to request different kinds of lock (say, read/write vs writeonly or recursive vs nonrecursive), or for a lock function to signal failure (which would be important for a trylock mode). This patch revises the lock API to be a bit more useful. The older lock calls are still supported for now. We also add a debugging mode to catch common errors in using the locking APIs.
Nick Mathewson e3fd294a 2009-10-16T13:19:57 Spelling fixes in comments and strings. svn:r1445
Nick Mathewson eda27f95 2009-04-19T20:54:12 Update copyright notices, add some missing license statements svn:r1208
Nick Mathewson 838d0a81 2009-04-17T06:55:08 Document many internal functions and pieces of code. svn:r1181
Nick Mathewson 28255a26 2009-04-05T04:26:46 Finally, get unit tests to pass with threading turned off again. svn:r1137
Nick Mathewson 661b5eea 2009-04-05T04:10:05 Actually, move EVUTIL_NIL_STMT to util-internal.h svn:r1135
Nick Mathewson d13b59ce 2009-04-05T02:44:04 Fix build with thread support disabled, and make no-op macros a little more no-oppy. svn:r1133
Nick Mathewson 70ee390f 2009-04-05T02:43:55 Add some more utility macros to evthread-internal.h svn:r1132
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
Niels Provos 502929cd 2008-03-31T00:31:53 add a check that base != NULL for threading; might want to drop this later svn:r696
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