2005-12-09  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.9.1 ===

2005-12-02  Matthias Clasen  <mclasen@redhat.com>

	* Makefile.am: Remove gthread-solaris.c

2005-11-17  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.9.0 ===

2005-08-23  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.8.1 ===

2005-08-12  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.8.0 ===

2005-08-05  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.7.7 ===

2005-08-03  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.7.6 ===

2005-08-02  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.7.5 ===

2005-07-21  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.7.4 ===

2005-07-15  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.7.3 ===
	
2005-07-09  Tor Lillqvist  <tml@novell.com>

	* Makefile.am: Don't use the scripts in build/win32 to compile
	gthread.rc into a resource object file. (This means we lose the
	build number increment magic, but I doubt it was that useful
	anyway.) Instead use windres directly. To pass the normal .o file
	produced by windres through libtool, which wants .lo files, pass
	it directly to the linker using a -Wl option.

	* gthread.rc.in: Thus replace BUILDNUMBER with 0.

2005-07-08  Matthias Clasen  <mclasen@redhat.com>
	
	* === Released 2.7.2 ===

2005-06-30  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.7.1 ===

2005-06-26  Tor Lillqvist  <tml@novell.com>

	* Makefile.am: libtool installs/uninstalls the import library, no
	need to do it ourselves. Do still install/uninstall the .def file,
	though.

2005-06-10  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.7.0 ===

2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* gthread-posix.c (g_thread_create_posix_impl): Allow
	setstacksize to fail.  (#304790, Michael Banck)

2005-01-07  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.6.1 ===

2004-12-16  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.6.0 ===
	
2004-12-02  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.5.7 ===
	
2004-11-12  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.5.6 ===
	
2004-11-02  Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.5.5 ===

2004-10-27 Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.5.4 ===

2004-09-18 Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.5.3 ===

2004-08-25 Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.5.2 ===

2004-08-01 Matthias Clasen  <mclasen@redhat.com>

	* === Released 2.5.1 ===

Sun Jul 18 18:03:08 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* === Released 2.5.0 ===

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
	

