Commit Graph

50 Commits

Author SHA1 Message Date
Howard Chu
20c4e016fa Added native thread-specific data support 2007-10-25 06:42:40 +00:00
Hallvard Furuseth
6f3cf907b8 Readability patch: ERRVAL() macro for pthreads < 7 vs. >= 7 return values. 2007-05-18 15:28:09 +00:00
Hallvard Furuseth
bbc719ca56 ITS#4948: '#if <undefined macro>' -> '#ifdef' warning cleanup 2007-05-09 18:17:10 +00:00
Kurt Zeilenga
da6d9eb046 happy new year 2007-01-02 20:00:42 +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
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
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
5608206da2 Fix LDAP_PVT_THREAD_STACK_SIZE, automatically scale up on 64 bit machines 2005-04-15 06:18:18 +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
fb493f5f3a ITS#2820 fix pthread_create for Draft 4 2003-11-13 02:41:01 +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
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
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
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
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +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
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
821f0e17f2 Fix get/set conconcurrency routines under Solaris 2000-07-06 17:21:21 +00:00
Kurt Zeilenga
e393afaeec Kill LinuxThreads clones 2000-06-17 18:49:25 +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
e68b429d45 Really disable pthread rw locks 2000-06-08 00:29:32 +00:00
Kurt Zeilenga
f192014c1a Use pthread rwlocks, if available 2000-06-07 00:28:35 +00:00
Mark Valence
72bf2552eb In preparation for thread pools 2000-06-06 19:59:34 +00:00
Kurt Zeilenga
29d9fa20a2 Y2k copyright update 2000-05-13 02:36:07 +00:00
Howard Chu
a556140e65 Fix for systems like AIX where pthread_create creates Detached by default 2000-05-11 09:51:24 +00:00
Howard Chu
5279265f2e Added missing ldap_pvt_thread_mutex_trylock function. 1999-11-28 04:07:11 +00:00
Kurt Zeilenga
403f4479bc Add OpenLDAP RCSid to *.[ch] in clients, libraries, and servers.
Replace old Id as needed (back-tcl).
Leave updating of contribWare to contributors (for now).
1999-09-08 19:06:24 +00:00
Kurt Zeilenga
5cf315c31f Experimental support for GNU Pth's Posix Thread API. This might be a
suitable for systems with poor (or nonexistant) Pthread implementations.
1999-08-21 17:19:10 +00:00
Kurt Zeilenga
7bd5b261fb Move most header inclusion below #ifdef HAVE_XXX.
Use LDAP_MALLOC instead of ch_malloc
1999-05-31 19:59:29 +00:00
Kurt Zeilenga
73b846c011 Add ldap_pvt_thread_destory() to un-ldap_pvt_thread_initialize().
Move all SunOS routines (ie: _sleep() and its helpers) to thr_lwp.c
so that it's internals can be 'static'.  Add 'static' to thr_lwp.c.
Add comment to LWP:  NEEDS WORK, may not compile!  Need some
SunOS user to sort out the details.  Volunteers?
1999-04-06 21:57:16 +00:00
Hallvard Furuseth
69c00e27da Posix Draft 4 (HAVE_PTHREADS_D4) fixes:
Use pthread_*attr_default.
Don't use a void return value from pthread_yield.
1999-03-03 21:21:40 +00:00
Hallvard Furuseth
74f808f44c Bugs with !HAVE_PTHREAD_KILL: include errno.h. Typo: sig should be signo. 1999-03-03 17:52:40 +00:00
Kurt Zeilenga
d671c49b94 Fix set concurrency typos. 1999-02-03 18:29:27 +00:00
Kurt Zeilenga
26d29bb2f4 Add (back in) destroy functions... 1999-01-29 06:05:18 +00:00
Kurt Zeilenga
72ba4cfb71 Use -lldap_r instead of -lldap -lthread.
Likely broke things for non-posix threadings....

Update -lldap_r implementation to:
	remove attribute support
	hide thread detachment
	provide concurrency accessors
	provide initialization function
	fix gethostby{addr,name}_r codes (not coverred by HAVE_REENTRANT_FUNCTIONS)
Update servers/libraries to use ldap_pvt_thread_ calls.
Cleanup server codes (no #ifdef HAVE_PTHREAD_THIS or _THATs)!
Removed -llthread
1999-01-28 04:34:55 +00:00
Bart Hartgers
c149f48e5c Added OpenLDAP copyright to files. 1999-01-17 15:46:19 +00:00
Bart Hartgers
0c1cb93c69 Changes to support threads from libldap_r. 1999-01-15 14:54:25 +00:00