From e121b938c9f012958196a3141f04a3fd4f58bdb9 Mon Sep 17 00:00:00 2001
From: rpj <rpj>
Date: Thu, 31 May 2001 02:01:47 +0000
Subject: 2001-05-30  Ross Johnson  <rpj@setup1.ise.canberra.edu.au>

	* pthread.h (rand_r): Fake using _seed argument to quell
	compiler warning (compiler should optimise this away later).

	* GNUmakefile (OPT): Leave symbolic information out of the library
	and increase optimisation level - for smaller faster prebuilt
	dlls.

2001-05-29  Ross Johnson  <rpj@setup1.ise.canberra.edu.au>

	Contributed by  - Milan Gardian <Milan.Gardian@LEIBINGER.com>

	* Makefile: fix typo.
	* pthreads.h: Fix problems with stdcall/cdecl conventions, in particular
	remove the need for PT_STDCALL everywhere; remove warning supression.
	* (errno): Fix the longstanding "inconsistent dll linkage" problem
	with errno; now also works with /MD debugging libs -
	warnings emerged when compiling pthreads library with /MD (or /MDd)
	compiler switch, instead of /MT (or /MTd) (i.e. when compiling pthreads
	using Multithreaded DLL CRT instead of Multithreaded statically linked
	CRT).
	* create.c (pthread_create): Likewise; fix typo.
	* private.c (ptw32_threadStart): Eliminate use of terminate() which doesn't
	throw exceptions.
	* Remove unnecessary #includes from a number of modules -
	[I had to #include malloc.h in implement.h for gcc - rpj].

2001-05-29  Ross Johnson  <rpj@setup1.ise.canberra.edu.au>

	Contributed by 	- Thomas Pfaff <tpfaff@gmx.net>

	* pthread.h (PTHREAD_MUTEX_DEFAULT): New; equivalent to
	PTHREAD_MUTEX_DEFAULT_NP.
	* (PTHREAD_MUTEX_NORMAL): Similarly.
	* (PTHREAD_MUTEX_ERRORCHECK): Similarly.
	* (PTHREAD_MUTEX_RECURSIVE): Similarly.
	* (pthread_mutex_setdefaultkind_np): New; Linux compatibility stub
	for pthread_mutexattr_settype.
	* (pthread_mutexattr_getkind_np): New; Linux compatibility stub
	for pthread_mutexattr_gettype.
	* mutex.c (pthread_mutexattr_settype): New; allow
	the following types of mutex:
	  PTHREAD_MUTEX_DEFAULT_NP
	  PTHREAD_MUTEX_NORMAL_NP
	  PTHREAD_MUTEX_ERRORCHECK_NP
	  PTHREAD_MUTEX_RECURSIVE_NP
	* Note that PTHREAD_MUTEX_DEFAULT is equivalent to
	PTHREAD_MUTEX_NORMAL - ie. mutexes should no longer
	be recursive by default, and a thread will deadlock if it
	tries to relock a mutex it already owns. This is inline with
	other pthreads implementations.
	* (pthread_mutex_lock): Process the lock request
	according to the mutex type.
	* (pthread_mutex_init): Eliminate use of Win32 mutexes as the
	basis of POSIX mutexes - instead, a combination of one critical section
	and one semaphore are used in conjunction with Win32 Interlocked* routines.
	* (pthread_mutex_destroy): Likewise.
	* (pthread_mutex_lock): Likewise.
	* (pthread_mutex_trylock): Likewise.
	* (pthread_mutex_unlock): Likewise.
	* Use longjmp/setjmp to implement cancelation when building the library
	using a C compiler which doesn't support exceptions, e.g. gcc -x c (note
	that gcc -x c++ uses exceptions).
	* Also fixed some of the same typos and eliminated PT_STDCALL as
	Milan Gardian's patches above.

2001-02-07  Ross Johnson  <rpj@special.ise.canberra.edu.au>

	Contributed by  - Alexander Terekhov <TEREKHOV@de.ibm.com>

	* rwlock.c: Revamped.
	* implement.h (pthread_rwlock_t_): Redefined.
	This implementation does not have reader/writer starvation problem.
	Rwlock attempts to behave more like a normal mutex with
	races and scheduling policy determining who is more important;
	It also supports recursive locking,
	has less synchronization overhead (no broadcasts at all,
	readers are not blocked on any condition variable) and seem to
	be faster than the current implementation [W98 appears to be
	approximately 15 percent faster at least - on top of speed increase
	from Thomas Pfaff's changes to mutex.c - rpj].
---
 pthread.def | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

(limited to 'pthread.def')

diff --git a/pthread.def b/pthread.def
index 9371ce9..623dc17 100644
--- a/pthread.def
+++ b/pthread.def
@@ -1,5 +1,5 @@
 ; pthread.def
-; Last updated: $Date: 2000/12/28 05:32:07 $
+; Last updated: $Date: 2001/05/31 02:01:47 $
 
 ; Currently unimplemented functions are commented out.
 
@@ -13,7 +13,7 @@ pthread_attr_getdetachstate
 ;pthread_attr_getinheritsched
 pthread_attr_getschedparam
 ;pthread_attr_getschedpolicy
-;pthread_attr_getscope
+pthread_attr_getscope
 pthread_attr_getstackaddr
 pthread_attr_getstacksize
 pthread_attr_init
@@ -21,12 +21,12 @@ pthread_attr_setdetachstate
 ;pthread_attr_setinheritsched
 pthread_attr_setschedparam
 ;pthread_attr_setschedpolicy
-;pthread_attr_setscope
+pthread_attr_setscope
 pthread_attr_setstackaddr
 pthread_attr_setstacksize
 pthread_cancel
 ;
-; These are implemented as macros
+; These two are implemented as macros
 ;
 ;pthread_cleanup_pop
 ;pthread_cleanup_push
@@ -45,6 +45,7 @@ pthread_create
 pthread_detach
 pthread_equal
 pthread_exit
+pthread_getconcurrency
 pthread_getschedparam
 pthread_getspecific
 pthread_join
@@ -55,10 +56,12 @@ pthread_mutexattr_destroy
 ;pthread_mutexattr_getprioceiling
 ;pthread_mutexattr_getprotocol
 pthread_mutexattr_getpshared
+pthread_mutexattr_gettype
 pthread_mutexattr_init
 ;pthread_mutexattr_setprioceiling
 ;pthread_mutexattr_setprotocol
 pthread_mutexattr_setpshared
+pthread_mutexattr_settype
 pthread_mutexattr_destroy
 pthread_mutex_init
 pthread_mutex_destroy
@@ -69,6 +72,7 @@ pthread_once
 pthread_self
 pthread_setcancelstate
 pthread_setcanceltype
+pthread_setconcurrency
 pthread_setschedparam
 pthread_setspecific
 ;pthread_sigmask
@@ -101,7 +105,6 @@ pthread_rwlock_unlock
 ;
 ; Non-portable but useful
 ;
-pthread_mutexattr_setforcecs_np
 pthread_getw32threadhandle_np
 pthread_delay_np
 pthreadCancelableWait
@@ -114,8 +117,8 @@ pthread_win32_thread_detach_np
 ;
 ; Needed if !defined(_MSC_VER) && !defined(__cplusplus)
 ;
-pthread_push_cleanup
-pthread_pop_cleanup
+ptw32_push_cleanup
+ptw32_pop_cleanup
 ;
 ; Not for use directly. Needed by macros in pthread.h
 ; to return internal SEH code.
-- 
cgit v1.2.3

