2006-03-07 Matthias Clasen * === Released 2.10.1 === 2006-03-02 Tor Lillqvist * gthread-win32.c (G_PRIVATE_MAX): Increase to 100. 16 was rather low. (g_private_new_win32_impl): Can't use g_error() here as g_private_new() is called a few times by GLib internally before the messaging system that g_error() requires is ready. Thanks to Tim Janik for noticing. Just display a MessageBox() and abort() instead. 2006-02-24 Matthias Clasen * === Released 2.10.0 === 2006-02-20 Tor Lillqvist * gthread-win32.c (g_thread_exit_win32_impl): Make the implementation of GPrivate behave more closely as in POSIX threads: The value associacted with a GPrivate must be set to NULL before calling the destructor. (The destructor gets the original value as argument.) A destructor might re-associate a non-NULL value with some GPrivate. To deal with this, if after all destructors have been called, there still are some non-NULL values, the process is repeated. (#331367) 2006-02-10 Matthias Clasen * === Released 2.9.6 === 2006-01-27 Matthias Clasen * === Released 2.9.5 === 2006-01-18 Matthias Clasen * === Released 2.9.4 === 2006-01-16 Matthias Clasen * === Released 2.9.3 === 2006-01-05 Matthias Clasen * === Released 2.9.2 === 2005-12-09 Matthias Clasen * === Released 2.9.1 === 2005-12-02 Matthias Clasen * Makefile.am: Remove gthread-solaris.c 2005-11-17 Matthias Clasen * === Released 2.9.0 === 2005-08-23 Matthias Clasen * === Released 2.8.1 === 2005-08-12 Matthias Clasen * === Released 2.8.0 === 2005-08-05 Matthias Clasen * === Released 2.7.7 === 2005-08-03 Matthias Clasen * === Released 2.7.6 === 2005-08-02 Matthias Clasen * === Released 2.7.5 === 2005-07-21 Matthias Clasen * === Released 2.7.4 === 2005-07-15 Matthias Clasen * === Released 2.7.3 === 2005-07-09 Tor Lillqvist * 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 * === Released 2.7.2 === 2005-06-30 Matthias Clasen * === Released 2.7.1 === 2005-06-26 Tor Lillqvist * 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 * === Released 2.7.0 === 2005-06-09 Matthias Clasen * gthread-posix.c (g_thread_create_posix_impl): Allow setstacksize to fail. (#304790, Michael Banck) 2005-01-07 Matthias Clasen * === Released 2.6.1 === 2004-12-16 Matthias Clasen * === Released 2.6.0 === 2004-12-02 Matthias Clasen * === Released 2.5.7 === 2004-11-12 Matthias Clasen * === Released 2.5.6 === 2004-11-02 Matthias Clasen * === Released 2.5.5 === 2004-10-27 Matthias Clasen * === Released 2.5.4 === 2004-09-18 Matthias Clasen * === Released 2.5.3 === 2004-08-25 Matthias Clasen * === Released 2.5.2 === 2004-08-01 Matthias Clasen * === Released 2.5.1 === Sun Jul 18 18:03:08 2004 Soeren Sandmann * === Released 2.5.0 === 2002-11-23 Tor Lillqvist * 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 * gthread-posix.c gthread-solaris.c: Include 2002-03-10 Sebastian Wilhelmi * gthread-posix.c (g_thread_create_posix_impl): Do a comparison, not an assignment, stupid! Spotted by Daniel Elstner . 2002-02-09 Sebastian Wilhelmi * 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 * gthread-solaris.c: Use g_free instead of free. Pointed out by Sam O'Connor . 2001-10-23 Tor Lillqvist * 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 * 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 * makefile.mingw.in: Fix couple of typos. * gthread.def: Add g_thread_init_with_errorcheck_mutexes. 2001-09-25 Sebastian Wilhelmi * gthread-impl.c: Corrected the array size (cough, cough). Pointed out by gpablo@intersystems.com.ar. Fixes #61065. 2001-09-25 Tor Lillqvist * 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 * 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 * gthread.rc.in: Correct InternalName and OriginalFilename to match what we actually produce. 2001-07-20 Hans Breuer * makefile.msc.in : reflect glib move 2001-06-07 Sebastian Wilhelmi * gthread-win32.c: Use g_win32_error_message to beautify error messages. 2001-05-24 Hans Breuer * makefile.msc.in : pthread isn't required anymore 2001-05-22 Sebastian Wilhelmi * gthread-win32.c (g_cond_wait_internal): Also return TRUE for late arrived signals. Thanks to Steven Brooks 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 to got me kickstarted. * Makefile.am: Also distribute gthread-win32.c. Fri May 4 04:14:45 2001 Tim Janik * 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 * gthread-posix.c: Added special case for priorities on FreeBSD. Thanks to David Reid for the info. * gthread-impl.c: Made two macros safe with (). 2001-03-10 Tor Lillqvist * Makefile.am: Use the _LIBADD dependency on libglib only on Win32. 2001-02-21 Tor Lillqvist * 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 * gthread-posix.c: Removed the G_THREAD_USE_PID_SURROGATE implementation, which is now in gthread.c. 2001-01-30 Sebastian Wilhelmi * 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 * gthread-impl.c (g_mutex_free_errorcheck_impl): hack this so it compiles, needs fixing for real. 2001-01-29 Sebastian Wilhelmi * 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 * gthread-solaris.c, gthread-posix.c: Made g_thread_min_stack_size static. 2000-11-28 Sebastian Wilhelmi * 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 * 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 * gthread-posix.c: Include if available. 2000-11-02 Sebastian Wilhelmi * gthread-none.c: Add G_MUTEX_SIZE as needed for gthread-impl.c 2000-10-25 Sebastian Wilhelmi * 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 * Makefile.am (BUILT_EXTRA_DIST): New variable. (dist-hook): Handle $(BUILT_EXTRA_DIST). 2000-09-29 Sebastian Wilhelmi * 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 * makefile.mingw.in: Use pthreads macros from ../build. 2000-09-06 Sebastian Wilhelmi * 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 * 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 * 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 * gthread-solaris.c (g_mutex_new_solaris_impl): Changed the scope of the initialized mutex to USYNC_THREAD. Thanks to Soeren Sandmann for pointing that out. 2000-03-20 Sebastian Wilhelmi * gthread-posix.c (posix_check_for_error): Forgot a '}' in a macro for DCE-threads. Thanks to Karl Nelson for pointing that out. 2000-03-17 Sebastian Wilhelmi * 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 * 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 . 1999-11-16 Sebastian Wilhelmi * 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 * gthread-posix.c: Guard pthread_attr_setscope call with test for _POSIX_THREAD_PRIORITY_SCHEDULING, which should be defined in a that supports that feature. 1999-06-17 Sebastian Wilhelmi * 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 * 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 . 1999-03-18 Sebastian Wilhelmi * Makefile.am (INCLUDES): Added @GTHREAD_COMPILE_IMPL_DEFINES@. 1999-03-12 Sebastian Wilhelmi * gthread-posix.c (g_private_get_posix_impl): Fixed typo for DCE implementation. 1999-03-11 Sebastian Wilhelmi * 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 * gthread-posix.c: Fixed broken mutex_trylock and slightly broken cond_timed_wait functions. 1999-02-15 Sebastian Wilhelmi * testgthread.c (test_mutexes): Use new signature of g_static_mutex* functions. 1999-02-08 Sebastian Wilhelmi * 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 * Makefile.am (EXTRA_DIST): Added gthread.def. Sun Jan 17 10:58:19 1999 Tor Lillqvist * gthread.def: New file. 1999-01-16 1999 Tor Lillqvist * gthread-posix.c: Conditionalize inclusion. 1999-01-07 Sebastian Wilhelmi * 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 * 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 * gthread-posix.c: use g_free in mutex_free (from Tim Janik) Thu Dec 17 03:38:57 1998 Tim Janik * Makefile.am: -DG_LOG_DOMAIN="GThread", we don't need an extern variable for that (noticed by Joel Becker ) Wed Dec 16 03:16:16 1998 Tim Janik * 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 * 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