Commit graph

24 commits

Author SHA1 Message Date
Christian Thaeter
a115759128 new mutex and recmutex implementation (breaks sync.hpp for now)
prepares that chained sections if different kinds can be mixed
makes recmutexes typesafe
improves nobug tracking
2009-06-03 18:22:07 +02:00
Christian Thaeter
66fb3afe83 Fix: new nobug renamed some macros 2008-12-29 02:52:46 +01:00
Christian Thaeter
532f609ea1 experimental thread implementation
* This spawns a thread, almost as proposed
 * The condition variable for finishing is not yet implemented
 * Most Parameters are ignored
2008-12-29 01:50:38 +01:00
Christian Thaeter
23f89b027a fixes for new NoBug (mandatory upgrade)
I managed to break some interface compatibility with NoBug finally. The
new NOBUG_ALPHA_COMMA macros shall stay there now.
2008-12-27 18:42:10 +01:00
be2daf64ff whitespace
(trying to compare LUMIERA_MUTEX_SECTION and LUMIERA_RECMUTEX_SECTION)
2008-12-24 03:42:36 +01:00
Christian Thaeter
dd9e5051ba use nobug's new RESOURCE_HANDLE_COMMA_INITIALIZER and some cosmetics along 2008-10-15 15:51:48 +02:00
Christian Thaeter
ed246ab222 Adding recursive mutexes, fix chained mutex to take only one parameter
Recursive mutex can be locked multiple times by a single thread they
are initialitzed by lumiera_recmutex_init() and used by LUMIERA_RECMUTEX_*
macros.

Chained mutex use the mutexacquirer from the outer scope now. Maybe its
later needed to pass acquirers explicit, we will see.
2008-10-15 15:49:35 +02:00
Nicholas Sinnott-Armstrong
7d86367909 Added preliminary support for chained mutex calls. 2008-10-15 15:49:35 +02:00
Christian Thaeter
d8f59fb722 Simplyfiy resource management
Move the resource announce/forget into the rwlock init/destroy
Move resource announcement/forget into the mutex init/destroy
2008-08-10 12:19:09 +02:00
Christian Thaeter
d0b6919eea locking.h bites the dust 2008-08-10 12:19:09 +02:00
Christian Thaeter
b2b205f6db remove unnecessary volatile (forgotten for a test) 2008-08-10 12:19:09 +02:00
Christian Thaeter
07f06d0d88 big mutex update, dropped old acquirer
Acquiring mutexes is now wraped in a easy to use MUTEX_SECTION macro.
This scheme will be extended for chained lock propagation soon.

Notes:
 * NoBug resourcemanagement is now part of the lower layer,
   RESOURCE_ENTER/RESOUCE_LEAVE are maintained automatically
 * one must still call RESOURCE_ANNOUNCE/RESOURCE_FORGET, because we want
   to maintain high level information about resources.
 * MUTEX_SECTIONS must not be left with any kind of jump
2008-08-10 12:19:09 +02:00
Mano Stienen
1d8bc98429 moved documentation from mutex.c to .h 2008-07-11 06:32:56 +02:00
Christian Thaeter
00b9dff106 Doxygen config update
* set EXPORT_ALL=NO to leave out undcoumented entities.
* Fix a lot @file directives
2008-05-19 16:27:29 +02:00
Christian Thaeter
293b872b5d extend the MUTEX_SECTION macro with NoBug resource tracking
LUMIERA_MUTEX_SECTION takes now a nobug flag as first argument and
a nobug resource-handle as second argument.

This change works forward for the NoBug resource tracker and
deadlock detector.
2008-05-19 16:23:15 +02:00
Christian Thaeter
69ba3b389c LUMIERA_MUTEX_SECTION(mutex) macro for sections of mutex protected code 2008-05-13 20:57:19 +02:00
Christian Thaeter
27ca8a7362 let LUMIERA_DIE take an error identifier as parameter 2008-05-13 20:54:05 +02:00
e737b9ef1b Lumiera renaming -- source code 2008-03-10 06:09:44 +01:00
0baf15ca94 Cinelerra-3 renamed to Lumiera -- copyright and documentation 2008-03-10 04:25:03 +01:00
Odin Omdal Hørthe
74a7bf4493 Made a @file-skeleton for doxygen for the files in src/lib/ 2007-10-20 17:27:27 +02:00
Odin Omdal Hørthe
9bf36e1eb4 Moved function doc from mutex.h to mutex.c 2007-10-20 16:57:39 +02:00
Christian Thaeter
96b9f65e6f some unmmerged changes? 2007-09-19 06:58:54 +02:00
Christian Thaeter
f1aba12af8 renamed *lock to *acquirer 2007-09-03 06:40:44 +02:00
Christian Thaeter
0a31c7d2db mutex implementation 2007-09-02 17:52:30 +02:00