Ondřej Kuzník
a8f01cc885
ITS#8638 Add a recursive mutex to libldap_r for libevent
...
Most thread implementations suppport a native recursive mutex, use that
where possible (especially when a regular mutex is recursive already).
Also provide a macro for applications to test whether they can use the
lock functions interchangeably.
2017-09-26 16:26:33 +01:00
Howard Chu
a336241e0e
Add ldap_pvt_thread_pool_queues decl
...
Was missing from 0ef9e6107b
2017-04-09 15:35:05 +01:00
Howard Chu
e12ca8b6fe
Fixes for multiple threadpool queues
...
Remove poolq_hash, it wasn't distributing work evenly to the queues.
Just walk through all queues and use the one with smallest
active+pending count. Since pool_retract also relied on the hash,
a different means of locating the thread to retract was needed.
Add pool_submit2 which returns the threadpool task structure,
and record which poolq this task lives on.
2017-03-15 11:13:09 +00:00
Quanah Gibson-Mount
1df85d3427
Happy New Year!
2017-01-03 12:36:47 -08:00
Quanah Gibson-Mount
6c4d6c880b
Happy New Year!
2016-01-29 13:32:05 -06:00
Quanah Gibson-Mount
1705fa7e55
Happy New Year
2015-02-11 15:36:57 -06:00
Kurt Zeilenga
5c878c1bf2
Happy new year (belated)
2014-01-25 05:21:25 -08:00
Howard Chu
34f832faee
Multiple queues per threadpool
2013-08-16 19:04:49 -07:00
Kurt Zeilenga
0fd1bf30b8
Happy New Year
2013-01-02 10:22:57 -08:00
Kurt Zeilenga
2bbf9804b9
Happy New Year!
2012-01-01 07:10:53 -08:00
Howard Chu
68ee165fb5
ITS#7115 blocked writers should not interfere with pool pause
2011-12-21 01:24:23 -08:00
Kurt Zeilenga
966cef8c9a
Happy New Year
2011-01-05 00:42:37 +00:00
Hallvard Furuseth
7cb9c496bf
ITS#6625 concurrency patch cleanup
2010-12-06 10:41:41 +00:00
Kurt Zeilenga
3dadeb3efe
happy belated New Year
2010-04-13 22:17:29 +00:00
Howard Chu
23783a9164
Add ldap_pvt_thread_pool_retract() to cancel pending threads
2009-06-11 04:46:04 +00:00
Kurt Zeilenga
4af9eb9715
Update copyright notices
2009-01-22 00:40:04 +00:00
Hallvard Furuseth
47560a77c7
ITS#5824: #if/#elif issues in thread #includes
2008-11-21 05:03:53 +00:00
Howard Chu
a287573d2d
ITS#5407 more checks for pool pausing
2008-03-08 23:51:07 +00:00
Hallvard Furuseth
5fca6c19c8
ITS#5364, thread pool efficiency:
...
Add ldap_pvt_thread_pool_pausing(): pause check for slapd without locking.
2008-02-10 16:24:28 +00:00
Kurt Zeilenga
c890c96d13
Happy New Year (belated)
2008-01-08 00:19:56 +00:00
Pierangelo Masarati
30f401c628
rename ldap_pvt_thread_pool_setkey_x() to ldap_pvt_thread_pool_setkey() (as part of ITS#5309)
2008-01-07 21:35:03 +00:00
Pierangelo Masarati
622c4d3884
new ldap_pvt_thread_pool_setkey API
2007-12-29 18:14:54 +00:00
Howard Chu
20c4e016fa
Added native thread-specific data support
2007-10-25 06:42:40 +00:00
Howard Chu
a1a63bead0
ITS#4188 check for pool pause every 64 entries. (probably should make
...
this number tunable.)
2007-10-08 01:15:49 +00:00
Hallvard Furuseth
c60f7c1fd2
For ITS#4943: Axe thread pool semaphore code
2007-06-10 23:37:49 +00:00
Hallvard Furuseth
4a0d1a7dd1
Wrap enum in #ifndef LDAP_PVT_THREAD_H_DONE; this code can be read twice.
2007-01-11 13:43:52 +00:00
Kurt Zeilenga
da6d9eb046
happy new year
2007-01-02 20:00:42 +00:00
Pierangelo Masarati
67f3fd8078
monitor __ALL__ thread parameters
2006-09-14 18:55:02 +00:00
Howard Chu
f269301ab9
Add ldap_pvt_thread_pool_tid()
2006-05-02 00:56:42 +00:00
Hallvard Furuseth
5657a5e4f9
Fix typo in comment
2006-04-30 01:32:40 +00:00
Howard Chu
e1ec64aaee
rmutex_lock etc.: caller supplies thread id
2006-04-28 21:39:38 +00:00
Howard Chu
0a7808fbad
Added recursive mutex implementation
2006-04-28 20:12:45 +00:00
Pierangelo Masarati
cad751250e
allow mutex ownership detection (thanks to Hallvard)
2006-04-01 19:00:37 +00:00
Kurt Zeilenga
acbb5cf689
Happy new year!
2006-01-03 23:11:52 +00:00
Pierangelo Masarati
d277c5b3d6
silence SLAP_SEM_LOAD_CONTROL related warnings...
2005-10-16 08:58:06 +00:00
Hallvard Furuseth
123948bd5e
Add thread debugging wrapper thr_debug.c and ldap_thr_debug.h in libldap_r/,
...
enabled with LDAP_THREAD_DEBUG (cpp macro and environment variable):
Move any ldap_pvt_* definitions from ldap_int_thread.h to ldap_pvt_thread.h.
#define ldap_int_thread_equal/ldap_pvt_thread_equal instead of tpool.c:TID_EQ.
Define some ldap_debug_*_t types, and LDAP_UINTPTR_T, in ldap_int_thread.h.
ldap_int_thread.h/ldap_pvt_thread.h can now be included multiple times, giving
different results depending on whether libldap_r/ldap_thr_debug.h was included.
Add some cleanup and some preprocessor hacks.
#define LDAP_THREAD*_IMPLEMENTATION in libldap_r/*.c, used by ldap_thr_debug.h.
Add PTHREAD_MUTEX_ERRORCHECK/PTHREAD_MUTEX_ERRORCHECK_NP in thr_posix.c.
2005-09-17 23:28:08 +00:00
Howard Chu
1f78e2b831
ITS#3961 better fix - provide a context for the main thread. The context
...
must be reset by the caller to clear out temp allocations etc.
2005-08-23 04:12:57 +00:00
Howard Chu
468112e2ba
ITS#3961 provide ldap_pvt_thread_pool_fake_context_init/destroy, don't
...
use arbitrary context pointers.
2005-08-23 03:25:21 +00:00
Howard Chu
3f20324ed0
Add ldap_pvt_thread_pool_purgekey to free all instances of key across
...
all threads.
2005-04-22 22:27:29 +00:00
Howard Chu
5608206da2
Fix LDAP_PVT_THREAD_STACK_SIZE, automatically scale up on 64 bit machines
2005-04-15 06:18:18 +00:00
Howard Chu
1b777e0ab3
Added ldap_pvt_thread_pool_pause/resume
2005-03-07 21:02:31 +00:00
Kurt Zeilenga
dc0eacd40b
Happy New Year!
2005-01-01 20:49:32 +00:00
Kurt Zeilenga
3c598e89fb
Happy new year
2004-01-01 19:15:16 +00:00
Kurt Zeilenga
159de0f135
Updated notices and acknowledgements
2003-11-26 07:16:36 +00:00
Howard Chu
a6a6946a67
New ldap_pvt_thread_pool_context()
2003-04-12 04:01:40 +00:00
Luke Howard
9490776d7b
Added ldap_pvt_thread_self() and ldap_pvt_thread_pool_context() API.
2003-01-24 06:49:13 +00:00
Kurt Zeilenga
6939c53170
Happy new year
2003-01-03 20:20:47 +00:00
Howard Chu
9ee8efb025
Bumped stack size up from 2M to 4M, 2M is too small on Solaris
2002-12-11 04:35:05 +00:00
Kurt Zeilenga
73b4170a6c
Rework libldap to not attempt to set LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE
2002-12-04 04:51:55 +00:00
Howard Chu
c72ee9ae1b
Decrease default thread stack size from 16MB to 2MB
2002-09-10 03:34:49 +00:00