2002-11-23  Tor Lillqvist  <tml@iki.fi>

	* gthread-win32.c (g_cond_timed_wait_win32_impl): Fix two bugs: 1)
	If abs_time is NULL, should use infinite time. 2) Check for
	current time already being past abs_time. (#99294, Christopher
	R. Palmer, fix by Sebastian Wilhelmi)

Mon Nov  4 14:45:24 2002  Owen Taylor  <otaylor@redhat.com>

	* gthread-posix.c gthread-solaris.c: Include <config.h>

2002-03-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c (g_thread_create_posix_impl): Do a comparison,
	not an assignment, stupid! Spotted by Daniel Elstner
	<daniel.elstner@gmx.net>.

2002-02-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-impl.c: Only compile most of this file, if
	G_THREADS_ENABLED is set.

	* Fixed typo in G_THREADS_ENABLED. 

2002-01-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-solaris.c: Use g_free instead of free. Pointed out by
	Sam O'Connor <sam@panviva.com>.

2001-10-23  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am: (Win32): If we have built the MSVC import library,
	install it. Install the gcc import library. Also support
	uninstall.

2001-09-28  Tor Lillqvist  <tml@iki.fi>

	* gthread-win32.c: Use an extra level of indirection for GMutex.
	It is now a pointer either to a pointer to a CRITICAL_SECTION
	struct, or to a mutex HANDLE. This is needed in case the user
	defines G_ERRORCHECK_MUTEXES. G_MUTEX_SIZE must correctly reflect
	the size of *GMutex, but this used to vary depending on whether we
	at run-time chose to use CRITICAL_SECTIONs or mutexes.
	(g_mutex_free_win32_cs_impl, g_cond_free_win32_impl): Call
	DeleteCriticalSection() when done with it.

	* gthread-impl.c (g_thread_init_with_errorcheck_mutexes): Call
	g_thread_impl_init() before accessing
	g_thread_functions_for_glib_use_default, as the
	g_thread_impl_init() function might modify it.
	
2001-09-26  Tor Lillqvist  <tml@iki.fi>

	* makefile.mingw.in: Fix couple of typos.

	* gthread.def: Add g_thread_init_with_errorcheck_mutexes.

2001-09-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-impl.c: Corrected the array size (cough, cough). Pointed
	out by gpablo@intersystems.com.ar. Fixes #61065.

2001-09-25  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am: Use new macros for .def file, and check for
	MS_LIB_AVAILABLE, new rule to build MS import library.

	* makefile.msc.in: Use same DLL and import library names as
	libtool.
	
2001-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c: Add g_thread_equal_posix_impl and add to the
	function vector g_thread_functions_for_glib_use_default.
	
	* gthread-solaris.c, gthread-win32.c: Add NULL as equal function,
	as on those two platforms you don't need an equal function.

2001-09-19  Tor Lillqvist  <tml@iki.fi>

	* gthread.rc.in: Correct InternalName and OriginalFilename to
	match what we actually produce.

2001-07-20  Hans Breuer  <hans@breuer.org>

	* makefile.msc.in : reflect glib move

2001-06-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-win32.c: Use g_win32_error_message to beautify error
	messages.

2001-05-24  Hans Breuer  <hans@breuer.org>

	* makefile.msc.in : pthread isn't required anymore

2001-05-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-win32.c (g_cond_wait_internal): Also return TRUE for
	late arrived signals. Thanks to Steven Brooks
	<umbrook0@cs.umanitoba.ca> for pointing out.

	* gthread-impl.c (g_thread_init): Move the thread implementation
	initialization to before assigning GThreadFuncs, which now is just
	struct assigned and not memcpy'ed. Completed check for zero
	members of GThreadFuncs. 

	* makefile.mingw: Don't link to pthread anymore.

	* gthread-win32.c: New file for native thread support for
	win32. Thanks to Hans Breuer <hans@breuer.org> to got me
	kickstarted.

	* Makefile.am: Also distribute gthread-win32.c.

Fri May  4 04:14:45 2001  Tim Janik  <timj@gtk.org>

	* gthread-posix.c (g_cond_timed_wait_posix_impl): don't g_assert()
	the user specified time, but g_return_val_if_fail() here.

2001-04-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c: Added special case for priorities on
	  FreeBSD. Thanks to David Reid <dreid@jetnet.co.uk> for the info.

	* gthread-impl.c: Made two macros safe with ().

2001-03-10  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am: Use the _LIBADD dependency on libglib only on
	Win32.

2001-02-21  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am: Use libglib-1.3.la from top_builddir. Invoke
	libtool with -no-undefined for Win32 and Cygwin.

	* gthread-impl.c (g_thread_init): Win32 code snippet used also on
	Cygwin.

2001-02-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c: Removed the G_THREAD_USE_PID_SURROGATE
	implementation, which is now in gthread.c.

2001-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-impl.c (g_thread_init_with_errorcheck_mutexes): Call
	g_thread_impl_init(), as g_thread_init won't call it.

	* gthread-impl.c (g_mutex_free_errorcheck_impl): Fixed it for
	real. Sorry for this mess. It looked like a real obvious fix, so I
	didn't check. Bad boy. Added some casts to quiet the compiler.

2001-01-29  Havoc Pennington  <hp@redhat.com>

	* gthread-impl.c (g_mutex_free_errorcheck_impl): hack this so it
	compiles, needs fixing for real.

2001-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-impl.c (g_mutex_free_errorcheck_impl): Add new check to
	errorcheck mutexes to abort, if a locked mutex is freed.

2001-01-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-solaris.c, gthread-posix.c: Made g_thread_min_stack_size
	static.

2000-11-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-impl.c: Revamped errorcheck mutexes and added errorcheck
	cond_wait() and cond_timed_wait() funtions. This makes he whole
	thing work. Now we only show the location of the locking/unlocking
	for -DG_ERRORCHECK_MUTEXES and not the name of the mutex.

2000-11-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-impl.c, gthread-posix.c, gthread-solaris.c: Removed
	g_thread_map_priority function in favour of the
	g_thread_priority_map array.  Initialize the array with
	PRIORITY_{...}_VALUE, if available and interpolate beetween the
	bounds if .._NORMAL_.. and .._HIGH_.. are not available.

	* gthread-posix.c: If we should use the PID niceness as a
	surrogate for thread priorities (G_THREAD_USE_PID_SURROGATE is
	defined), then disable normal priority handling and use PIDs and
	setpriority() instead. Depends on the thread to write its PID into
	the place after the thread id right after thread creation.

2000-11-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c: Include <sched.h> if available.

2000-11-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-none.c: Add G_MUTEX_SIZE as needed for gthread-impl.c

2000-10-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* Makefile.am : Add @GLIB_DEBUG_FLAGS@ to INCLUDES for accessing
	-DG_ENABLE_DEBUG as needed in gthread-posix.c.

	* gthread-posix.c: Revamped error handling for native thread
	function calls. Now EPERM errors are ignored for some commands and
	only a warning message is output once (at first occurrence).

2000-10-15  Raja R Harinath  <harinath@cs.umn.edu>

	* Makefile.am (BUILT_EXTRA_DIST): New variable.
	(dist-hook): Handle $(BUILT_EXTRA_DIST).

2000-09-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-impl.c: Added errorcheck mutexes. New exported function
	g_thread_init_with_errorcheck_mutexes, which is called instead of
	g_thread_init, when compiled with -DG_ERRORCHECK_MUTEXES. New
	static functions
	g_mutex_(new|lock|trylock|unlock|free)_errorcheck_impl to
	implement errorcheck mutexes.

	* gthread-posix.impl.c, gthread-solaris-impl.c: Define the size of
	a mutex.

2000-09-21  Tor Lillqvist  <tml@iki.fi>

	* makefile.mingw.in: Use pthreads macros from ../build.

2000-09-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c, gthread-solaris.c:
	s/G_MICROSEC/G_USEC_PER_SEC/ and s/G_NANOSEC/G_NSEC_PER_SEC/	

2000-09-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c (g_thread_create_posix_impl): Use GError to
	report errors.

	* gthread-solaris.c (g_thread_create_solaris_impl): Use GError to
	report errors as well.
	
2000-05-13  Tor Lillqvist  <tml@iki.fi>

	* makefile.mingw.in: New file, with gthread stuff moved from
	../makefile.mingw.in.

	* Makefile.am: Add to EXTRA_DIST, add rule to build makefile.mingw.

2000-04-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-solaris.c (g_mutex_new_solaris_impl): Changed the scope
	of the initialized mutex to USYNC_THREAD. Thanks to Soeren
	Sandmann <sandmann@daimi.au.dk> for pointing that out.

2000-03-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c (posix_check_for_error): Forgot a '}' in a macro
	for DCE-threads. Thanks to Karl Nelson <kenelson@ece.ucdavis.edu>
	for pointing that out.

2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c: Don't use priorities for threads, when the
	minimal/maximal priorities couldn't be determined at configure
	time.

	* gthread-posix.c: Don't check for errors, when setting the scope
	of a tread to system, as some posix implementations can't do that
	and we don't want the thing to fail because of that.

2000-02-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c, gthread-solaris.c: check for sysconf
	(_SC_THREAD_STACK_MIN), which returns the minimal stack size for
	new threads. Patch from Soeren Sandmann <sandmann@daimi.au.dk>.

1999-11-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c, gthread-solaris.c: Changed the prototype of
	thread_create and thread_self to return the system thread into
	provided memory instead of a return value. This is necessary, as
	HPUX has a pthread_t, that is bigger than the biggest integral
	type there. Made some more functions static.

	* gthread-posix.c: Small fixes for DCE threads: Detaching has to
	be done after thread creation for DCE.

1999-06-21  Tor Lillqvist  <tml@iki.fi>

	* gthread-posix.c: Guard pthread_attr_setscope call with test
	for _POSIX_THREAD_PRIORITY_SCHEDULING, which should be defined
	in a <pthread.h> that supports that feature.
	
1999-06-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c, gthread-solaris.c: Added the native
	implementations for the GLib's extended thread support.

	* gthread-nspr.c: Removed for good. NSPR is nothing we would want
	to build upon.

	* gthread.c: Renamed to gthread-impl.c to avoid confusion with
	../gthread.c (Formerly known as the file called gmutex.c)

	* testgthread.c: Removed. The new and much extended tests are in
	../tests/thread-test.c.

	* Makefile.am: Changed to reflect the changes above.

1999-03-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c: Use the right default arguments for the
	construction of mutexes and conds for dce threads, these are
	&pthread_(cond|mutex)attr_default instead of NULL. Hint from
	D. Emilio Grimaldo Tunon <emilio_tunon@nl.compuware.com>.

1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* Makefile.am (INCLUDES): Added @GTHREAD_COMPILE_IMPL_DEFINES@.

1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c (g_private_get_posix_impl): Fixed typo for DCE
	implementation.

1999-03-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c: Now handle both dce and posix threads. They are
	sufficently equal. Please do not commit my change to
	glib-1-2/gthread/gthread-posix.c from 1999-03-03, as the current
	change will take care of that too.

1999-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c: Fixed broken mutex_trylock and slightly broken
	cond_timed_wait functions.

1999-02-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* testgthread.c (test_mutexes): Use new signature of
	g_static_mutex* functions.

1999-02-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c (g_private_get_posix_impl): Use the
	HAVE_PTHREAD_GETSPECIFIC_POSIX macro to determine, which signature
	to use for pthread_getspecific.

Tue Jan 19 20:56:02 1999  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am (EXTRA_DIST): Added gthread.def.

Sun Jan 17 10:58:19 1999  Tor Lillqvist  <tml@iki.fi>

	* gthread.def: New file.

1999-01-16 1999  Tor Lillqvist  <tml@iki.fi>

	* gthread-posix.c: Conditionalize <sys/time.h> inclusion.

1999-01-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* testgthread.c: conditionally compile according to the
	G_THREADS_IMPL_??? macros.
	(test_private_func): use rand_r instead of rand to make it
	thread safe.

1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* testgthread.c (new_thread): As a joinable thread seems to be the
	default on posix, leave the explicit setting out, as it causes
	problems on some older platforms.

Wed Dec 16 22:21:33 CST 1998 Shawn T. Amundson <amundson@gtk.org>

	* gthread-posix.c: use g_free in mutex_free (from Tim Janik)

Thu Dec 17 03:38:57 1998  Tim Janik  <timj@gtk.org>

	* Makefile.am: -DG_LOG_DOMAIN="GThread", we don't need an extern
	variable for that (noticed by Joel Becker <jlbec@ocala.cs.miami.edu>)

Wed Dec 16 03:16:16 1998  Tim Janik  <timj@gtk.org>

	* testgthread.c: s/g_thread_supported/g_thread_supported ()/
	* gthread.c: s/g_thread_supported/g_threads_got_initialized/
	(g_thread_init): bail out if G_THREADS_ENABLED is not defined.

1998-12-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* Makefile.am (EXTRA_DIST): updated.

	* testgthread.c, gthread-*.c: Changed private to private_key to
	avoid problems when compiling with under C++.

	* gthread-none.c: 
	s/g_mutex_functions_for_glib_use/g_thread_functions_for_glib_use/

	* ChangeLog: from now on there is an extra ChangeLog for gthread
	

