Commit graph

1659 commits

Author SHA1 Message Date
Christian Thaeter
52ac7bdc5e FIX: bogus pointer dereference causing gcc to barf
gcc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu3) reported:

./src/lib/mpool.c: In function ‘bitmap_bit_get_nth’:
./src/lib/mpool.c:119: warning: dereferencing type-punned
 pointer will break strict-aliasing rules
2009-06-19 04:22:29 +02:00
8dfc234729 small fix: wrong log formatting spec detected by valgrind 2009-06-19 03:21:43 +02:00
37c0175bd1 fix crash on closing lumiera, in case of starting multiple threads 2009-06-19 00:45:08 +02:00
3f9902f682 fix possible race in dummy player: sync on tick thread termination 2009-06-19 00:40:31 +02:00
Christian Thaeter
64c1238445 FIX: mpool: macro for constants depending on host wordsize
This might fix http://issues.lumiera.org/ticket/136 I have no 32bit
system to validate this.
2009-06-06 16:05:34 +02:00
Christian Thaeter
ee5c2b98ee Fix: mpool build and tests 2009-06-06 15:23:20 +02:00
Christian Thaeter
bf94c90e59 add some more nobug keywords to the test.sh exception list 2009-06-06 15:22:48 +02:00
d740d9734d re-enable test for waiting on thread termination 2009-06-05 05:35:24 +02:00
b6d22bb2e0 fix: condition for signalling thread termination is optional 2009-06-05 05:04:45 +02:00
e0ff915987 adapt thread-wrapper.hpp to backend thread API change 2009-06-05 05:00:53 +02:00
Christian Thaeter
58f1fbe3a8 mpool: completion
fix tests, add some benchmarks
finished documentation, cosmetics, cleanup
2009-06-04 18:11:45 +02:00
Christian Thaeter
92271ba1c1 mpool: add an alloc_near() function which takes a explicit hint for locality 2009-06-04 18:11:44 +02:00
Christian Thaeter
0dc0d18703 mpool: ldiv() division bites the dust in favor of some bitops
before:
 1,747,160,336  PROGRAM TOTALS
after:
 1,371,806,087  PROGRAM TOTALS
2009-06-04 18:11:44 +02:00
Christian Thaeter
9ed817df97 mpool: precalculate cluster size to avoid excess recalculations
Callgrind before:
 1,963,501,246  PROGRAM TOTALS
After:
 1,747,160,336  PROGRAM TOTALS
2009-06-04 18:11:44 +02:00
Christian Thaeter
29a1a6a7a0 mpool: some pending cosmetics an trace points 2009-06-04 18:11:27 +02:00
Christian Thaeter
2a9d59ccd0 WIP: pooled allocator, initial version
* creating and allocating, freeing elements
 * live objects will be destructed when a mpool gets destroyed and a
   destructor was set up
2009-06-04 18:10:25 +02:00
Christian Thaeter
062dbfe82f Merge commit '99b5f8'
* commit '99b5f8':
  adapt the Sync template
  Add reccondition to threads, make its functionality complete
  fix some includes for new mutex/recmutex headers
  weed out reccondition bugs/typos
  New condition and reccondition implementation
  split mutex.h again into mutex.h and recmutex.h
  typo fix in mutex.h
  rename casing of RecMutex to Recmutex to be consistent
  store lumiera_rwlock in sectionlock
  store a lumiera_mutex in a sectionlock, looks cleaner
  add check to chained locking validating that the parent lock is held
  rwlock makeover, locksections etc...
  error code changed to LOCK_DESTROY
  fix: forgotten backcasts in mutex.h
  new mutex and recmutex implementation (breaks sync.hpp for now)
2009-06-03 20:20:41 +02:00
Christian Thaeter
8f2333a786 Merge commit '59de53b25a78cd330c0c6e0f637e8cf7618da4'
* commit '59de53b25a78cd330c0c6e0f637e8cf7618da4':
  llist: add an generic void* to the compare, sort and search functions
  let llist_init return the initialized node
2009-06-03 18:47:56 +02:00
99b5f8d44d adapt the Sync template 2009-06-03 18:22:11 +02:00
Christian Thaeter
dd9b7a174f Add reccondition to threads, make its functionality complete
With this the threads are now usable, despite still a mockup
implementation.

Some basic tests to show their use included.
2009-06-03 18:22:11 +02:00
Christian Thaeter
323724b623 fix some includes for new mutex/recmutex headers 2009-06-03 18:22:10 +02:00
Christian Thaeter
7758d76c7b weed out reccondition bugs/typos 2009-06-03 18:22:10 +02:00
Christian Thaeter
d91620a60f New condition and reccondition implementation
Should be working but not thoroughly tested still, docs not complete
2009-06-03 18:22:10 +02:00
Christian Thaeter
4f29f302b2 split mutex.h again into mutex.h and recmutex.h 2009-06-03 18:22:10 +02:00
Christian Thaeter
ec62ca073b typo fix in mutex.h 2009-06-03 18:22:09 +02:00
Christian Thaeter
30a117c1d8 rename casing of RecMutex to Recmutex to be consistent 2009-06-03 18:22:09 +02:00
Christian Thaeter
93abe657c8 store lumiera_rwlock in sectionlock 2009-06-03 18:22:09 +02:00
Christian Thaeter
5b82f3355b store a lumiera_mutex in a sectionlock, looks cleaner 2009-06-03 18:22:09 +02:00
Christian Thaeter
cafcffd4b1 add check to chained locking validating that the parent lock is held 2009-06-03 18:22:08 +02:00
Christian Thaeter
5c2ac96f35 rwlock makeover, locksections etc...
The CHAINED variant is not tested, what could go wrong anyways :)
2009-06-03 18:22:08 +02:00
Christian Thaeter
ca0250c018 error code changed to LOCK_DESTROY 2009-06-03 18:22:08 +02:00
Christian Thaeter
cf664ca970 fix: forgotten backcasts in mutex.h 2009-06-03 18:22:07 +02:00
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
59de53b25a llist: add an generic void* to the compare, sort and search functions
This allows the user to pass some extra data along, which improves the
usefulness in certain cases.
2009-06-03 18:22:01 +02:00
Christian Thaeter
85b1297b4a let llist_init return the initialized node
This makes it possible to use the init without a temporary variable:
 llist_insert_next (llist_init (foo), llist_init (bar));
2009-06-03 18:19:56 +02:00
Anton Yakovlev
87e528bd58 Cyclic L1-list. Implements almost the same set of operations as for L2-list
(except those, which reverse enumeration of elements).
2009-06-03 18:12:35 +04:00
767638bc86 adapt TimeWrapperTest to the new lib directory layout (shared lib build) 2009-05-29 18:36:37 +02:00
940d63a9fa time wrapper minimal test coverage 2009-05-29 18:36:37 +02:00
dedb70aac9 @Joel: a simple convenience wrapper for gavl_time_t 2009-05-29 18:36:37 +02:00
Christian Thaeter
0595767736 fixed config lowlevel tests
Few tests got broken with the new testsuite and libtool problems to pass
empty strings and tabs around. I just removed tabs and unnecessary
blanks. This makes some tests somewhat less valuable, but works for now.
2009-05-15 22:11:59 +02:00
Odin Hørthe Omdal
bbe2b78c29 test: Finished regexing the last tests 2009-05-15 21:25:12 +02:00
Odin Hørthe Omdal
0c89dbaa62 test: Regexed 00-40, just escaping; no fancy stuff 2009-05-15 21:25:12 +02:00
Odin Hørthe Omdal
e8588b735c test: test.sh imported from newest nobug
nobug commit d2d0b769fb7ed3d7174671cde2ef02a64b987397
2009-05-15 21:25:12 +02:00
5904c896aa Lower gtkmm requirements to match Debian/Lenny (grmmm-2.4<=2.12)
@joel: is this ok? if you'd actually need a more recent gtkmm, we handle it similar as with gdl-lum...
2009-04-24 21:47:40 +02:00
Joel Holdsworth
e5891be09c Added gdl-1.0 with gdl-lum fallback check to autoconf 2009-04-22 20:12:23 +01:00
Joel Holdsworth
2fbf1930dc Merge branch 'ichthyo-proc' into gui 2009-04-20 16:18:17 +01:00
730d2c0233 Fix: we should include gdl headers in accordance to pkg-config
The pkg-config of GDL advises to include the GDL subdir,
which in turn contains a directory "gdl" with the headers.
This is fine, because it makes this name switch work
painless. Thus, please just #include <gdl/gdl-whatever.h>
2009-04-20 03:05:28 +02:00
41f98a7a24 Update Library version info in the TiddlyWiki 2009-04-20 01:58:54 +02:00
34d0c6905e SCons: now require either a custom 'gdl-lum' or GDL >= 2.27.1 2009-04-20 01:58:34 +02:00
Joel Holdsworth
5359f0df6c Added some placeholder actions 2009-04-18 22:31:38 +01:00