Hallvard Furuseth
92afeb8ef7
Replace state LDAP_INT_THREAD_POOL_PAUSING with member ltp_pause,
...
so a pause will work during states FINISHING and STOPPING.
Add missing waits and signals, and move waits in pool_wrapper().
Replace if(test) with while(test) when waiting for the multi-purpose
condition variable ltp_cond.
2007-05-09 19:53:25 +00:00
Hallvard Furuseth
9e9bf22a64
ITS#4943:
...
In ldap_pvt_thread_pool_submit(), when backing out of thread creation:
ltp_pending_count '++' -> '--'. Signal if there are no more threads.
In ldap_int_thread_pool_wrapper():
if() -> assert() where false would result in eternal loop.
2007-05-09 19:34:49 +00:00
Hallvard Furuseth
bb890724d4
Don't complain if detached threads exit after ldap_debug_thread_destroy().
2007-05-09 19:21:08 +00:00
Hallvard Furuseth
bbc719ca56
ITS#4948: '#if <undefined macro>' -> '#ifdef' warning cleanup
2007-05-09 18:17:10 +00:00
Howard Chu
28493e554c
ITS#4912 fix typo in prev commit
2007-04-05 00:16:17 +00:00
Howard Chu
c80d5f970a
ITS#4899 fix for keys not getting cleared
2007-04-01 11:52:51 +00:00
Howard Chu
f97f109483
Fix prev commit again
2007-01-28 02:12:29 +00:00
Howard Chu
99a8deb160
ITS#4821 partially revert prev patch
2007-01-27 18:40:02 +00:00
Howard Chu
977bd839cc
Calling setkey() with NULL data and kfree should erase the key.
2007-01-25 11:53:09 +00:00
Howard Chu
2298595ea3
Free thread keys in reverse order of allocation
2007-01-25 11:13:15 +00:00
Pierangelo Masarati
7ee7699bb9
more on ITS#4799
2007-01-10 01:18:52 +00:00
Pierangelo Masarati
5513ac6335
import of LDAP Sync client API
2007-01-06 18:28:32 +00:00
Kurt Zeilenga
da6d9eb046
happy new year
2007-01-02 20:00:42 +00:00
Pierangelo Masarati
5ee5709993
fix build without threads (ITS#4721)
2006-10-26 22:03:12 +00:00
Pierangelo Masarati
67f3fd8078
monitor __ALL__ thread parameters
2006-09-14 18:55:02 +00:00
Howard Chu
deea7b5530
MSVC compatibility
2006-09-14 08:06:49 +00:00
Pierangelo Masarati
af1f87b96d
ldap_pvt_runqueue_next_sched() may return a pointer to data that's freed by task run earlier (ITS#4517)
2006-05-02 20:32:37 +00:00
Howard Chu
f269301ab9
Add ldap_pvt_thread_pool_tid()
2006-05-02 00:56:42 +00:00
Hallvard Furuseth
dc5c8409f6
Add missing "static" to last commit
2006-05-01 15:23:16 +00:00
Hallvard Furuseth
19b3812643
Introduce ldap_debug_thread_wrapper() to notice threads that exit by returning
2006-04-30 01:15:57 +00:00
Howard Chu
5b8a74590b
Fix tpool_shutdown, don't remove pool from list since pool_destroy
...
already does it.
2006-04-29 22:31:58 +00:00
Howard Chu
7026d5219f
Fix adjust_count, missing break
2006-04-29 22:31:33 +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
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