Commit graph

2029 commits

Author SHA1 Message Date
Michael Ploujnikov
c707f94929 update c++ wrapper to match the C API 2010-01-06 07:42:42 -05:00
Michael Ploujnikov
a668095f60 ignore automake-related files in the m4 directory 2010-01-05 20:11:34 -05:00
Michael Ploujnikov
223e79cc4a replace mutex with condition variable in threadpool
use TRACE instead of ECHO
(based on cehteh's suggested code)
2010-01-04 17:03:47 -05:00
Michael Ploujnikov
7a507a0cee don't put threads in a detached state 2009-12-31 15:09:22 -05:00
Michael Ploujnikov
03fe6dd658 properly initialize and de-initialize the thread condition variable 2009-12-31 07:37:28 -05:00
Michael Ploujnikov
c4e1fdaf9a document lumiera_thread_destroy() and lumiera_thread_delete() 2009-12-31 07:32:55 -05:00
Michael Ploujnikov
ad404bd41a remove unused old code 2009-12-31 07:30:46 -05:00
Michael Ploujnikov
d63a6066a0 insert a space between the function name and the ( in each function call 2009-12-31 07:27:45 -05:00
Michael Ploujnikov
9c60d88c56 remove thread limiting logic from the threadpool 2009-12-31 07:24:07 -05:00
Michael Ploujnikov
69277b6770 remove unused function pool_thread_loop() 2009-12-31 07:18:29 -05:00
Michael Ploujnikov
098d801d00 give each thread pool a separate pthread_attr_t structure to configure 2009-12-02 22:21:49 -05:00
Michael Ploujnikov
afe135f43e add a lock around thread pool list access in lumiera_threadpool_release_thread() 2009-12-02 13:48:08 -05:00
Michael Ploujnikov
eedfafb0d0 convert lumiera_thread_state to using the enum string trick and use it in a test 2009-11-29 18:06:14 -05:00
Michael Ploujnikov
fc16de332f convert lumiera_thread_class to using the enum string trick and use it in a test 2009-11-29 17:55:20 -05:00
Michael Ploujnikov
98519c57da reduce the number of threads spawned in tests to avoid EAGAIN errors from pthread_create (at least on my 2.6.31.5-127.fc12.x86_64 Core2Duo T9600 system) 2009-11-27 11:39:23 -05:00
Michael Ploujnikov
c31bc2791b remove unnecessary REQUIREs based on my new understanding of nobug 2009-11-26 11:52:19 -05:00
Michael Ploujnikov
01223ef6ba kind vs class naming rationale 2009-11-26 11:45:34 -05:00
Michael Ploujnikov
afd2035983 rename threadpool.kind[i].pool to threadpool.kind[i].list
rename threadpool.kind to threadpool.pool
2009-11-26 11:27:50 -05:00
Michael Ploujnikov
99eb790027 rename LUMIERA_THREAD_* to LUMIERA_THREADCLASS_* in enum lumiera_thread_class 2009-11-26 11:21:31 -05:00
Michael Ploujnikov
52e9259e8b this was replaced with tests/backend/test-threadpool.c 2009-11-26 11:15:31 -05:00
Michael Ploujnikov
af80622ef5 begin implementing a 'soft' thread count limit per pool
add LUMIERA_DIE in cases where this soft limit is reached
add LUMIERA_DIE when pthread_create fails to create threads - serious
add a test which tries to break the soft limit
2009-11-26 10:24:18 -05:00
Michael Ploujnikov
bd076e4210 reduce the number of threads spawned in a test 2009-11-26 10:24:18 -05:00
Michael Ploujnikov
98c608d4c0 check that we're creating valid lumiera_thread_structures
die on pthread_create errors that we shouldn't be handling
2009-11-26 10:24:18 -05:00
Michael Ploujnikov
085216fd61 remove "allocated thread*" messages from lumiera_thread_new() and update tests 2009-11-26 10:24:17 -05:00
Michael Ploujnikov
07962b5314 add comments about locking in lumiera_threadpool_release_thread()
output the size of the created thread struct
don't print "destroying thread" (lets tests become shorter with repeated matching)
add a test which spans many threads in all pools
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
8e3d4e7b7a fixed lumiera_threadpool_destroy() by using LLIST_FOREACH
added some checks to lumiera_threadpool_release_thread(), maybe too much
modified thread_loop() to return a known value - 0
added checks to lumiera_thread_new()
added a check to lumiera_thread_destroy()
made lumiera_thread_destroy() unlink the thread from a pool list
updated test case to match new debug messages
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
d6d81f2e44 added lumiera_threadpool_destroy()
added locking and checks to lumiera_threadpool_acquire_thread()
added a nobug flag to threads.c
added lumiera_thread_destroy()
added lumiera_thread_delete()
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
414b8b99c3 updated test passes
fixed problem with copying lists
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
75696986e4 test passes 2009-11-26 10:24:17 -05:00
Michael Ploujnikov
10f79290a1 add lumiera_threadpool_release_thread
make the test compile
change from type to kind
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
9dd838b129 acquire() test started, so far, everything just compiles 2009-11-26 10:24:17 -05:00
Michael Ploujnikov
775f6cbb5d actually create or use a thread struct, still not associated with a pthread 2009-11-26 10:24:17 -05:00
Michael Ploujnikov
00eb4eda46 partial code skeleton 2009-11-26 10:24:17 -05:00
Michael Ploujnikov
4bac65df72 copied test.sh from nobug 1147947 2009-11-26 10:13:32 -05:00
Michael Ploujnikov
046dab0ca3 Add missing nobugmt ld flags to test_threads 2009-11-14 22:21:08 -05:00
Michael Ploujnikov
ce4e3608d0 make sure luidgen picks up the nobug cflags 2009-11-02 13:51:18 -05:00
cd51e5fef0 Proc Command handling frontend finished and usable for now
Additional convenience shortcuts and a bit of polishing.
Closes Ticket #300
2009-10-11 05:57:46 +02:00
c6d5f8a0b4 Proc Command framework: *first integraton round finished* 2009-10-11 05:57:46 +02:00
36d615dd3a add test case covering the string representation of commands 2009-10-11 05:57:46 +02:00
ae01f85452 replace existing implementation with CommandImplCloneBuilder 2009-10-11 05:57:45 +02:00
fdd940feba clone builder implemented; problem resolved according to test 2009-10-11 05:57:45 +02:00
e32044e453 refactor CmdClosure to accept a cloneBuilder visitor 2009-10-11 05:57:45 +02:00
bb7ff5e317 WIP draft of clone builder implementation 2009-10-11 05:57:45 +02:00
7812792f75 unit test showing current malfunction of UNDO state due to cloning 2009-10-11 05:57:45 +02:00
a4ad41a4e9 Idea how to solve the problem with cloning the UNDO functor 2009-10-11 05:57:45 +02:00
0bcbf7fee0 fix further problems uncovered by test; allow for anonymous cloning 2009-10-11 05:57:45 +02:00
17c7160f02 refactor CommandDef, get rid of the possibility of re-defining. YAGNI! 2009-10-11 05:57:45 +02:00
37cd451367 fix sloppy definition of less-than comparison, which caused malfunction of registry 2009-10-11 05:57:45 +02:00
2ad896027b why doesn't the reverse lookup return a Symbol?
damn! I have the vague rememberance that I had a reason for
not returning a Symbol. Anyway, here it goes...
2009-10-11 05:57:44 +02:00
d2acf48587 change semantics of state predicates, as it seems less surprising this way 2009-10-11 05:57:44 +02:00