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
Howard Chu
650837742a
Restore NT4 compatibility, avoid W2K-only API
2004-03-17 05:06:04 +00:00
Pierangelo Masarati
c9fae6c942
fix file name
2004-03-16 18:02:38 +00:00
Kurt Zeilenga
647df2b9cb
Start of client-side LDAP tranactions (non-working)
...
and lots of cleanup (hence the commit)
(ldapmodify will need much more work for transactions)
2004-03-14 23:32:00 +00:00
Howard Chu
3810fa18d8
Added PasswordPolicy control
2004-03-12 21:22:32 +00:00
Howard Chu
f3f78e8a1f
ITS#2997 change MAXTHREADS to LDAP_MAXTHR
2004-03-04 15:35:29 +00:00
Howard Chu
a6b1dfd1c8
Fix ldap_pvt_thread_self, GetCurrentThread() returns a constant, not a
...
unique value.
2004-01-15 09:59:11 +00:00
Kurt Zeilenga
3c598e89fb
Happy new year
2004-01-01 19:15:16 +00:00
Kurt Zeilenga
f9ba11f543
Add acknowledgements
2003-11-27 00:33:55 +00:00
Jong Hyuk Choi
5d411fd963
Another patch for the multi syncrepl thread support
2003-11-26 20:40:16 +00:00
Kurt Zeilenga
159de0f135
Updated notices and acknowledgements
2003-11-26 07:16:36 +00:00
Kurt Zeilenga
e3a4c4ec9c
Notice/Acknowledge updates
2003-11-26 02:58:56 +00:00
Howard Chu
fb493f5f3a
ITS#2820 fix pthread_create for Draft 4
2003-11-13 02:41:01 +00:00
Jong Hyuk Choi
0a7a97d294
Copyright heading
2003-11-12 00:25:48 +00:00
Howard Chu
45c42630db
Add "defer" arg to ldap_pvt_runqueue_resched to suspend scheduling of
...
a task in the queue without removing it.
2003-10-25 21:13:08 +00:00
Jong Hyuk Choi
85ff0377d2
runqueue locking fix (ITS#2746)
2003-10-12 09:13:04 +00:00
Howard Chu
cc6cfd30cc
Include <ac/socket.h> so Windows can pull in struct timeval def
2003-09-27 06:48:15 +00:00
Kurt Zeilenga
12304f64e5
Merge partial and intermediate responses
2003-05-31 05:01:49 +00:00
Kurt Zeilenga
e8144158f3
Add/Update various copyright notices
2003-05-25 03:31:21 +00:00
Jong Hyuk Choi
4192c4aaaa
select loop changes for persistent threads
2003-05-20 23:52:11 +00:00
Jong Hyuk Choi
8340afd736
remove ch_malloc/ch_free
2003-05-14 21:30:25 +00:00
Jong Hyuk Choi
35d1bd68b9
runqueue restructuring
2003-05-07 23:52:08 +00:00
Jong Hyuk Choi
580ae073e1
runqueue update
2003-05-07 22:29:26 +00:00
Jong Hyuk Choi
45776bff04
a runqueue for periodic thread execution (for syncrepl)
2003-05-07 02:06:01 +00:00
Howard Chu
a54549f1d5
Use pthread_equal to compare thread IDs
2003-05-02 12:23:31 +00:00
Howard Chu
b4dfd0c08c
Add ldap_pvt_thread_pool_context() stub for NO_THREADS builds
2003-04-16 00:18:56 +00:00
Howard Chu
30b3d741d5
Fix prev commit - hash bytes of ldap_pvt_thread_t to find proper slot
2003-04-13 05:48:48 +00:00
Howard Chu
a6a6946a67
New ldap_pvt_thread_pool_context()
2003-04-12 04:01:40 +00:00
Kurt Zeilenga
e446a0c5cd
cancel.c missing (blind update)
2003-03-30 05:38:39 +00:00
Howard Chu
4a1eb51d3e
ITS#2404 keep the per-thread context in the individual threads...
2003-03-27 01:39:42 +00:00
Howard Chu
c20d1840ba
Blind fix, delete obsolete files cache.c, authpasswd.c
2003-03-07 21:10:02 +00:00
Howard Chu
fabbbafde9
Don't spawn threads based on ltp_pending_count, it doesn't get decremented
...
right away due to ltp_mutex still being held. Just see if all open threads
are active... Use cond_broadcast to signal all waiting threads. Make sure
to remove correct ctx from active list after the thread returns.
2003-02-17 12:10:41 +00:00
Howard Chu
bbdc869d7a
Set stack size for created threads
2003-02-14 23:52:38 +00:00
Kurt Zeilenga
aa291a3492
We should be calling libtool --finish when install libraries
2003-02-09 23:10:29 +00:00
Kurt Zeilenga
4b3396f5fd
unifdef -DLDAP_NOCACHE
2003-02-09 07:42:18 +00:00
Kurt Zeilenga
c34e59be35
Consistently add cancel.c to makefiles
2003-02-09 01:54:41 +00:00
Luke Howard
4a6c16b669
Don't free active thread list
2003-01-24 08:20:55 +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
Howard Chu
38e7047130
Set thread stack size, default (1MB) is always too small for back-bdb.
2003-01-13 14:28:50 +00:00
Kurt Zeilenga
6939c53170
Happy new year
2003-01-03 20:20:47 +00:00
Kurt Zeilenga
5fe7d38e1c
Add whoami.c and passwd.c and other minor tweaks to control cleanups
2002-11-28 02:44:38 +00:00
Howard Chu
82eed24c3d
Prefer thr_yield over sched_yield for Solaris
2002-10-12 01:21:21 +00:00
Kurt Zeilenga
14ab87b54a
MacOS 10.1 pthread_kill() workaround
2002-10-02 20:10:55 +00:00
Howard Chu
9a8eadb9de
Fix return values, set stack size. (Default is only 64K, far too small.)
...
Fixes the SEGVs from stack overrun, but slapd tends to get hung in select.
2002-09-21 01:41:45 +00:00
Howard Chu
2e6a83049e
POSIX threads tweaks for Draft 4 vs Draft 5
2002-09-12 23:12:18 +00:00
Howard Chu
dfa8bdec60
Fine-tuning pthreads revision dependencies
2002-09-11 07:24:21 +00:00
Howard Chu
c9b7fc6407
New POSIX threads version support. Detects Draft 4,5,6,7,10 (final).
...
Should eliminate individual checks for pthread_yield, sched_yield,
and pthread_detach, but they're left in for now as a redundant check.
2002-09-07 14:09:09 +00:00
Julius Enarusai
48593e1484
Fix compile error when --without-threads configure option is set. Function
...
headers differ from prototypes in ldap_pvt_threads.h
2002-08-26 19:26:09 +00:00
Howard Chu
8c30114d84
Added thread-pool getkey/setkey functions
2002-08-24 05:39:43 +00:00
Kurt Zeilenga
86717ac2d9
NT port fixes
2002-08-24 00:37:59 +00:00
Kurt Zeilenga
9c28c9b361
Zap LDAPv2-only stuff
2002-08-08 03:01:14 +00:00
Howard Chu
f969443fb7
Additional tweak for HAVE_PTHREADS_OS390
2002-07-27 00:12:39 +00:00
Howard Chu
cc8aa38d7d
Some tweaks for OS/390 pthreads. Func signatures are different, return
...
val is 0/-1 with err in errno instead of in return val.
2002-07-26 03:15:25 +00:00
Kurt Zeilenga
d401bf956f
ITS#1922: add references.lo
2002-07-09 00:34:41 +00:00
Howard Chu
a1e63db574
Fix ITS#1865, (ITS#1764?) cond_broadcast behavior was broken
2002-06-07 22:45:22 +00:00
Kurt Zeilenga
771a131b0d
Fix unprotected list modification
2002-05-31 20:22:44 +00:00
Howard Chu
7de25993f5
Fix NT_LINK_LIBS, UNIX_LINK_LIBS
2002-05-17 23:41:26 +00:00
Pierangelo Masarati
e8c5f59d84
ldap_int_thread_pool_wrapper was called with wrong prototype (ITS#1673)
...
================
Written by Hallvard B. Furuseth and placed into the public domain.
This software is not subject to any license of the University of Oslo.
================
ldap_int_thread_pool_wrapper() was defined with an parameter
struct ldap_int_thread_pool_s* but called with a void* argument.
Since these may have different representations, it can crash.
Hallvard B. Furuseth <h.b.furuseth@usit.uio.no>, March 2002.
2002-03-23 17:24:38 +00:00
Kurt Zeilenga
ce07fb958e
Update libtool usage
...
s/-L.../libraries -lldap/.../libraries/libldap/libldap.la/
2002-02-10 22:42:51 +00:00
Kurt Zeilenga
962e351271
Minor cleanup
2002-01-07 21:22:38 +00:00
Kurt Zeilenga
0e2af54a3f
Update copyright statements
2002-01-04 21:17:25 +00:00
Howard Chu
da00e5dac1
Use LDAP_FREE instead of free
2002-01-03 23:30:45 +00:00
Howard Chu
029306a5be
Use ldap_queue.h instead of <ac/queue.h>
2002-01-03 00:12:46 +00:00
Howard Chu
4bd58083ad
Make .links depend on Makefile so it gets automatically reinvoked
...
whenever the Makefile is updated
2002-01-02 21:58:22 +00:00
Kurt Zeilenga
3ecc6b8b2c
Add filter.c
2002-01-02 17:08:42 +00:00
Kurt Zeilenga
763c0de59b
Rework filter code
...
Misc cleanup / lint removal
2002-01-02 17:06:56 +00:00
Howard Chu
e823c74811
Fix typo
2001-12-31 12:37:45 +00:00
Howard Chu
9405761404
Moved free list to avoid additional mutex
2001-12-31 06:46:03 +00:00
Howard Chu
6e66d14311
Fix previous commit
2001-12-31 04:01:26 +00:00
Howard Chu
3e90c7dd42
Use queue-compat.h for queue management. Cache ctx structures on a free
...
list instead of always freeing them.
2001-12-31 03:05:56 +00:00
Kurt Zeilenga
04ea760a91
Delete USE_LDAP_DN_PARSING
2001-12-24 06:02:59 +00:00
Kurt Zeilenga
d0abe6f59f
Misc DN cleanup, no functional changes
2001-12-24 06:00:02 +00:00
Kurt Zeilenga
0845c0bf6f
zap tmplout
2001-12-21 04:38:36 +00:00
Kurt Zeilenga
80649933bd
Zap tmplout
2001-12-21 03:28:48 +00:00
Kurt Zeilenga
ae6b840350
Remove ttest
2001-12-20 07:29:33 +00:00
Kurt Zeilenga
c9afb5e8a3
misc cleanup
2001-12-20 01:43:03 +00:00
Kurt Zeilenga
1f8cba688d
dsparse still needed by filter templates (which are used by ud(1)).
2001-12-19 21:53:30 +00:00
Kurt Zeilenga
b3b17ca4e7
Remove srchpref and disptmpl stuff.
2001-12-19 21:46:34 +00:00
Kurt Zeilenga
9ce6d07b61
More cleanup
2001-12-19 21:37:41 +00:00
Kurt Zeilenga
de857a1152
Misc cleanup
2001-12-19 21:23:49 +00:00
Kurt Zeilenga
ca975216b8
Regenerate configure and fix AC header inclusion
2001-12-18 02:25:21 +00:00
Kurt Zeilenga
abd9be4def
Remove lint and misc MSVC updates
2001-12-09 02:34:45 +00:00
Howard Chu
0552b1c53f
NT updates from jon@symas.com.
2001-12-07 04:03:25 +00:00
Kurt Zeilenga
8b4bae1fe3
Friendly name removal
2001-12-03 20:04:31 +00:00
Mark Adamson
e0ff8d6782
fix various memory leaks
2001-11-05 23:14:42 +00:00
Kurt Zeilenga
da22af709b
Move stacksize setting outside of detach #ifdef
2001-09-27 18:54:17 +00:00
Kurt Zeilenga
5f4d8a71e6
Use a 64MB stack (instead of a 64K on some systems) by default.
...
This should be tunable...
2001-09-26 02:35:41 +00:00
Kurt Zeilenga
11b6d1f284
Misc updates for NT4
2001-06-15 04:16:55 +00:00
Kurt Zeilenga
86acd7eb20
unifdef -ULDAP_UFN
2001-06-11 21:08:49 +00:00
Kurt Zeilenga
44bef574c8
Updated pthread test and usage (avoid pthread_detach if possible)
...
don't use tmpnam()
2001-06-09 01:05:35 +00:00
Kurt Zeilenga
5a26f9d617
Fix ; typo
2001-05-16 19:17:51 +00:00
Kurt Zeilenga
325a12e25d
NT thread fix
2001-05-06 18:58:45 +00:00
Kurt Zeilenga
379d0962ea
Add cast to avoid mismatch
2000-10-06 21:16:26 +00:00
Kurt Zeilenga
003a293e2b
Don't specify LDFLAGS when using LTLINK to avoid duplicate
...
specfication of flags.
2000-10-01 08:10:37 +00:00
Ben Collins
4d0a95db04
wrap unused function, ldap_int_thread_onlist() in #if 0
2000-09-15 03:07:43 +00:00
Ben Collins
18c5605524
fix compiler warnings by including ac/unistd.h
2000-09-15 03:06:51 +00:00
Ben Collins
df57978436
specifically check for NULL return from ldap_int_thread_delist(). Also, fixup comment to get rid of compiler warning.
2000-09-13 21:48:29 +00:00
Kurt Zeilenga
a7d74e9080
More NT threading fixes
2000-09-12 20:39:13 +00:00
Kurt Zeilenga
c78d5f5e7f
ITS#697: Fix cond_wait
2000-09-12 18:18:27 +00:00
Kurt Zeilenga
57936dc93c
Zap CLDAP
2000-08-19 00:07:30 +00:00
Kurt Zeilenga
25a9f7427d
Remove CLDAP cruft
2000-08-18 04:25:00 +00:00
Kurt Zeilenga
85c2a7a2a8
Update NT build to include recently added SASL sources.
2000-07-13 23:43:24 +00:00
Kurt Zeilenga
5fc22599e2
Update SASL code to reuse context through life of session.
...
Replace 'negotiated' with 'interactive' bind
Add hooks for SASL/EXTERNAL
Disable SASL security layers
Rework SASL command line and config file parameters
2000-07-13 22:54:38 +00:00
Kurt Zeilenga
821f0e17f2
Fix get/set conconcurrency routines under Solaris
2000-07-06 17:21:21 +00:00
Mark Valence
c1223a70e6
Added NO_THREADS version of ldap_pvt_thread_pool_maxthreads
2000-07-05 17:36:58 +00:00
Mark Valence
d4d03e36e5
Added "threads" config to slapd.conf.
2000-07-04 19:24:13 +00:00
Kurt Zeilenga
e2fa599482
Move old files to the Attic
2000-06-25 22:01:42 +00:00
Mark Valence
719b945c78
Fix for thread/fork problem. Don't start a worker thread until one is
...
needed.
2000-06-21 06:09:45 +00:00
Kurt Zeilenga
9ef1a740c2
Round one of LDAP_F() macro changes. In this round we rename
...
macros into our namespace and limit use to headers. A subsequent
round will add macros to separately handle forward declarations
of variables from declaration of function prototypes. The last
round will add additional macros for declaring actual variables and
functions.
2000-06-18 19:48:07 +00:00
Mark Valence
54f7e85770
Put cond_signal loop inside of mutex'ed area to fix race bug (seen on
...
Digital OSF 4.0e on an Alpha?)
2000-06-18 05:56:17 +00:00
Kurt Zeilenga
e393afaeec
Kill LinuxThreads clones
2000-06-17 18:49:25 +00:00
Kurt Zeilenga
35e77f88be
Add asserts aliasing debugging purposes.
2000-06-16 21:25:03 +00:00
Kurt Zeilenga
63d05c74f4
Fix up NT port after thread changes
2000-06-13 20:43:59 +00:00
Kurt Zeilenga
ec426532b2
Reworked thread code to better support thread-library specific
...
r/w locks and thread pools. Hide internal structures (using
pthread'ish technics). Place common code in threads.c. Move
no-thread code to thr_stub.c. Move thread pool code to tpool.c.
Removed setconcurrency call from initializer, added 'concurrency'
directive to slapd. Tested code under pthreads, pth, and no-threads.
2000-06-13 02:42:13 +00:00
Kurt Zeilenga
a56c161bdb
Misc code cleanup.
2000-06-10 22:39:30 +00:00
Kurt Zeilenga
89d7b86178
Add sort/vlv controls
2000-06-10 17:28:09 +00:00
Mark Valence
1f4b174c37
Fix a race condition by removing (unnecessary) unlock/yield/lock.
2000-06-10 04:12:49 +00:00
Mark Valence
d6ee9542ec
A little cleanup
2000-06-10 01:39:05 +00:00
Mark Valence
3c0e4d35a1
Added a yield or two for Pth.
2000-06-08 06:55:04 +00:00
Mark Valence
a1a78cd2e8
Thread pools enabled again -- test008 passes on NT, cthreads, pthreads
...
(on Linux), with max_concurrency set to 0 (as many as needed), 1, 2,
and 3.
2000-06-08 05:14:46 +00:00
Mark Valence
da355b317e
Disable thread pooling while I fix the deadlock.
2000-06-08 02:07:49 +00:00