Hallvard Furuseth
b70d6dd8e6
LDAP_RDWR_DEBUG update:
...
- Avoid buffer overrun when too many readers.
- When remoinv reader ID, move one ID instead of all later IDs in array.
- assert(correct lock owner) before unlocking a write lock.
2006-04-05 20:08:34 +00:00
Hallvard Furuseth
ca4a4456e8
LDAP_THREAD_DEBUG revamping, cleanup, bug fixes.
...
Expand usage struct with magic numbers and state info.
Add options "noreinit", "nosync", "nomem", "threadID". Remove "dupinit".
Detect address changes. Turn off thread ID tracking by default.
2006-04-05 19:52:07 +00:00
Hallvard Furuseth
7057f8756c
thr_yield() returns void, so do not use its "return value" (ITS#4469)
2006-04-03 17:10:38 +00:00
Hallvard Furuseth
7a113f0759
Restore $LDAP_THREAD_DEBUG=off functionality (was lost in last patch).
2006-04-03 12:49:30 +00:00
Hallvard Furuseth
da0c0360e4
Warnings: Unused vars. funcptr=0, not =NULL. if(b=...) -> if((b=...) != NULL).
2006-04-02 19:54:24 +00:00
Pierangelo Masarati
cad751250e
allow mutex ownership detection (thanks to Hallvard)
2006-04-01 19:00:37 +00:00
Hallvard Furuseth
9313508035
Expand and clarify thr_debug documentation.
2006-04-01 18:31:38 +00:00
Howard Chu
de36ebd08c
cleanup NULL deref
2006-03-31 21:20:36 +00:00
Kurt Zeilenga
825ce79611
Initial and rough client-side implementation of the revised LDAP
...
Transactions specification. A work in progress! Comments welcomed.
2006-03-06 21:20:36 +00:00
Howard Chu
9870eba3ee
ITS#4368 unlock pool ltp_mutex before destroying it
2006-01-24 23:31:56 +00:00
Howard Chu
84315e96f8
ITS#4349 don't wait on condition if there are no threads in the pool.
2006-01-18 01:55:24 +00:00
Howard Chu
7f5ea4c098
Get rid of trivial yield, for completeness' sake.
2006-01-15 14:34:44 +00:00
Howard Chu
78a9d66e53
ITS#3950 delete gratuitous yield. (could use pthread_cond_timedwait
...
if we ever wanted to time out idle threads.)
2006-01-15 14:21:16 +00:00
Pierangelo Masarati
c5c5ba0b32
s/o/lo/
2006-01-09 21:02:52 +00:00
Kurt Zeilenga
eccd913a07
Update variables holding protocol values to ber_*_t's
...
Remove old grouping/txn code (pending redesign)
2006-01-09 01:25:53 +00:00
Pierangelo Masarati
de79a7bfec
rework API functions to create/parse controls; add client API functions to handle RFC2696 paged results (ITS#4314; patch from Hans Leidekker with changes)
2006-01-08 22:03:30 +00:00
Pierangelo Masarati
339b9c371e
rfc2589 support (ITS#4293)
2006-01-06 17:46:52 +00:00
Howard Chu
d1693d4a07
ITS#3950 tweak prev commit, s/REPLACE_SCHED_YIELD/REPLACE_BROKEN_YIELD/
2006-01-06 06:07:36 +00:00
Kurt Zeilenga
f5fd375d38
i before e and other cleanup
2006-01-06 05:50:51 +00:00
Kurt Zeilenga
21d15546d3
Make use of nanosleep/select as a sched_yeild(2) replacement
...
conditional on REPLACE_SCHED_YEILD. Configure support
needed.
2006-01-06 05:22:35 +00:00
Howard Chu
69179a5c44
ITS#3950 use select instead of yield when select does the right thing.
2006-01-06 01:02:00 +00:00
Kurt Zeilenga
acbb5cf689
Happy new year!
2006-01-03 23:11:52 +00:00
Howard Chu
f80e9d11fa
Fix prev commit, spawns unnecessary threads.
2005-10-28 10:31:21 +00:00
Howard Chu
71514ffb92
Fix pool_submit, create threads as long as we're under the max count.
2005-10-27 21:55:18 +00:00
Pierangelo Masarati
d277c5b3d6
silence SLAP_SEM_LOAD_CONTROL related warnings...
2005-10-16 08:58:06 +00:00
Kurt Zeilenga
533394d641
disable SLAP_SEM_LOAD_CONTROL by default, needs additional review/work
...
Misc. other cleanup
2005-10-16 00:17:58 +00:00
Kurt Zeilenga
6db7e605ee
Align Operation buffers using LBER_ALIGNED_BUFFER
2005-10-12 23:17:28 +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
6be50f1b0f
ITS#4006 add stub for ldap_pvt_thread_pool_context_reset()
2005-09-06 22:11:26 +00:00
Pierangelo Masarati
6aa5b4f775
address ITS#3925; please test
2005-09-01 01:59:36 +00:00
Pierangelo Masarati
fe4b006e17
wait also if PAUSING; silence warnings and improve readability with gdb
2005-09-01 01:54:00 +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
6754d025f2
ITS#3847 silence warnings
2005-07-11 10:39:32 +00:00
Hallvard Furuseth
a20b19cc9e
ISO C chokes on comma at end of enum list
2005-07-06 08:13:50 +00:00
Howard Chu
5f46aa4d3b
ITS#3760 add missing NO_THREADS stubs
2005-06-03 22:08:31 +00:00
Kurt Zeilenga
be097fc8cd
Add ldap_turn(3) and ldap_turn_s(3).
2005-05-04 20:24:48 +00:00
Howard Chu
2d06c4fe2d
Freshly inserted tasks should be at head of queue and run immediately
2005-04-23 16:56:37 +00:00
Howard Chu
b978e77932
Add task names to runqueue entries
2005-04-23 00:27:57 +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
2dec29f265
Change ldap_pvt_runqueue_insert to return new task pointer
2005-04-22 14:37:59 +00:00
Howard Chu
dd646eb734
Added ldap_pvt_runqueue_find()
2005-04-19 14:40:30 +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
e0a9ea2f50
Move MSVC port to the Attic
2004-09-04 04:37:41 +00:00
Howard Chu
0305199518
Additional debug tracking...
2004-07-03 16:25:30 +00:00
Jong Hyuk Choi
a1308f8dfa
syncrepl retry code fix for correct timing
2004-06-21 07:03:49 +00:00
Jong Hyuk Choi
763f8c76ee
syncrepl retry-on-error code
2004-06-18 05:04:03 +00:00
Howard Chu
cee3acea09
Fix prev commit
2004-03-17 09:59:03 +00:00