1 2007-01-16 Tor Lillqvist <tml@novell.com>
3 * gthread-win32.c (g_gettime_win32_impl):
4 GetSystemTimeAsFileTime() returns 100s of nanoseconds since 1601,
5 so offset to Unix epoch (1970) and multiply by 100 to get
6 nanoseconds which is what we want.
8 2006-12-28 Tor Lillqvist <tml@novell.com>
10 * gthread-win32.c (g_thread_impl_init): Correct link to discussion
11 about CRITICAL_SECTIONs vs. mutexes. Thanks to Felix Kater for
14 2006-08-15 Matthias Clasen <mclasen@redhat.com>
16 * === Released 2.12.2 ===
18 2006-07-22 Matthias Clasen <mclasen@redhat.com>
20 * === Released 2.12.1 ===
22 2006-07-02 Matthias Clasen <mclasen@redhat.com>
24 * === Released 2.12.0 ===
26 2006-06-20 Matthias Clasen <mclasen@redhat.com>
28 * === Released 2.11.4 ===
30 2006-06-12 Matthias Clasen <mclasen@redhat.com>
32 * === Released 2.11.3 ===
34 2006-06-05 Matthias Clasen <mclasen@redhat.com>
36 * === Released 2.11.2 ===
38 2006-05-15 Matthias Clasen <mclasen@redhat.com>
40 * === Released 2.11.1 ===
42 2006-05-03 Tor Lillqvist <tml@novell.com>
44 * gthread-win32.c (g_thread_exit_win32_impl): Free with free() and
45 not g_free() what has been allocated with calloc(). (#340530, Jake
48 2006-05-02 Matthias Clasen <mclasen@redhat.com>
50 * === Released 2.11.0 ===
52 2006-03-11 Tor Lillqvist <tml@novell.com>
54 * gthread-win32.c: #define _WIN32_WINDOWS as 0x0401 to get
55 declaration for IsDebuggerPresent() when using MSVC6. (#333879,
58 2006-03-07 Matthias Clasen <mclasen@redhat.com>
60 * === Released 2.10.1 ===
62 2006-03-02 Tor Lillqvist <tml@novell.com>
64 * gthread-win32.c (G_PRIVATE_MAX): Increase to 100. 16 was rather
66 (g_private_new_win32_impl): Can't use g_error() here as
67 g_private_new() is called a few times by GLib internally before
68 the messaging system that g_error() requires is ready. Thanks to
69 Tim Janik for noticing. Just display a MessageBox() and abort()
72 2006-02-24 Matthias Clasen <mclasen@redhat.com>
74 * === Released 2.10.0 ===
76 2006-02-20 Tor Lillqvist <tml@novell.com>
78 * gthread-win32.c (g_thread_exit_win32_impl): Make the
79 implementation of GPrivate behave more closely as in POSIX
80 threads: The value associacted with a GPrivate must be set to NULL
81 before calling the destructor. (The destructor gets the original
82 value as argument.) A destructor might re-associate a non-NULL
83 value with some GPrivate. To deal with this, if after all
84 destructors have been called, there still are some non-NULL
85 values, the process is repeated. (#331367)
87 2006-02-10 Matthias Clasen <mclasen@redhat.com>
89 * === Released 2.9.6 ===
91 2006-01-27 Matthias Clasen <mclasen@redhat.com>
93 * === Released 2.9.5 ===
95 2006-01-18 Matthias Clasen <mclasen@redhat.com>
97 * === Released 2.9.4 ===
99 2006-01-16 Matthias Clasen <mclasen@redhat.com>
101 * === Released 2.9.3 ===
103 2006-01-05 Matthias Clasen <mclasen@redhat.com>
105 * === Released 2.9.2 ===
107 2005-12-09 Matthias Clasen <mclasen@redhat.com>
109 * === Released 2.9.1 ===
111 2005-12-02 Matthias Clasen <mclasen@redhat.com>
113 * Makefile.am: Remove gthread-solaris.c
115 2005-11-17 Matthias Clasen <mclasen@redhat.com>
117 * === Released 2.9.0 ===
119 2005-08-23 Matthias Clasen <mclasen@redhat.com>
121 * === Released 2.8.1 ===
123 2005-08-12 Matthias Clasen <mclasen@redhat.com>
125 * === Released 2.8.0 ===
127 2005-08-05 Matthias Clasen <mclasen@redhat.com>
129 * === Released 2.7.7 ===
131 2005-08-03 Matthias Clasen <mclasen@redhat.com>
133 * === Released 2.7.6 ===
135 2005-08-02 Matthias Clasen <mclasen@redhat.com>
137 * === Released 2.7.5 ===
139 2005-07-21 Matthias Clasen <mclasen@redhat.com>
141 * === Released 2.7.4 ===
143 2005-07-15 Matthias Clasen <mclasen@redhat.com>
145 * === Released 2.7.3 ===
147 2005-07-09 Tor Lillqvist <tml@novell.com>
149 * Makefile.am: Don't use the scripts in build/win32 to compile
150 gthread.rc into a resource object file. (This means we lose the
151 build number increment magic, but I doubt it was that useful
152 anyway.) Instead use windres directly. To pass the normal .o file
153 produced by windres through libtool, which wants .lo files, pass
154 it directly to the linker using a -Wl option.
156 * gthread.rc.in: Thus replace BUILDNUMBER with 0.
158 2005-07-08 Matthias Clasen <mclasen@redhat.com>
160 * === Released 2.7.2 ===
162 2005-06-30 Matthias Clasen <mclasen@redhat.com>
164 * === Released 2.7.1 ===
166 2005-06-26 Tor Lillqvist <tml@novell.com>
168 * Makefile.am: libtool installs/uninstalls the import library, no
169 need to do it ourselves. Do still install/uninstall the .def file,
172 2005-06-10 Matthias Clasen <mclasen@redhat.com>
174 * === Released 2.7.0 ===
176 2005-06-09 Matthias Clasen <mclasen@redhat.com>
178 * gthread-posix.c (g_thread_create_posix_impl): Allow
179 setstacksize to fail. (#304790, Michael Banck)
181 2005-01-07 Matthias Clasen <mclasen@redhat.com>
183 * === Released 2.6.1 ===
185 2004-12-16 Matthias Clasen <mclasen@redhat.com>
187 * === Released 2.6.0 ===
189 2004-12-02 Matthias Clasen <mclasen@redhat.com>
191 * === Released 2.5.7 ===
193 2004-11-12 Matthias Clasen <mclasen@redhat.com>
195 * === Released 2.5.6 ===
197 2004-11-02 Matthias Clasen <mclasen@redhat.com>
199 * === Released 2.5.5 ===
201 2004-10-27 Matthias Clasen <mclasen@redhat.com>
203 * === Released 2.5.4 ===
205 2004-09-18 Matthias Clasen <mclasen@redhat.com>
207 * === Released 2.5.3 ===
209 2004-08-25 Matthias Clasen <mclasen@redhat.com>
211 * === Released 2.5.2 ===
213 2004-08-01 Matthias Clasen <mclasen@redhat.com>
215 * === Released 2.5.1 ===
217 Sun Jul 18 18:03:08 2004 Soeren Sandmann <sandmann@daimi.au.dk>
219 * === Released 2.5.0 ===
221 2002-11-23 Tor Lillqvist <tml@iki.fi>
223 * gthread-win32.c (g_cond_timed_wait_win32_impl): Fix two bugs: 1)
224 If abs_time is NULL, should use infinite time. 2) Check for
225 current time already being past abs_time. (#99294, Christopher
226 R. Palmer, fix by Sebastian Wilhelmi)
228 Mon Nov 4 14:45:24 2002 Owen Taylor <otaylor@redhat.com>
230 * gthread-posix.c gthread-solaris.c: Include <config.h>
232 2002-03-10 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
234 * gthread-posix.c (g_thread_create_posix_impl): Do a comparison,
235 not an assignment, stupid! Spotted by Daniel Elstner
236 <daniel.elstner@gmx.net>.
238 2002-02-09 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
240 * gthread-impl.c: Only compile most of this file, if
241 G_THREADS_ENABLED is set.
243 * Fixed typo in G_THREADS_ENABLED.
245 2002-01-16 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
247 * gthread-solaris.c: Use g_free instead of free. Pointed out by
248 Sam O'Connor <sam@panviva.com>.
250 2001-10-23 Tor Lillqvist <tml@iki.fi>
252 * Makefile.am: (Win32): If we have built the MSVC import library,
253 install it. Install the gcc import library. Also support
256 2001-09-28 Tor Lillqvist <tml@iki.fi>
258 * gthread-win32.c: Use an extra level of indirection for GMutex.
259 It is now a pointer either to a pointer to a CRITICAL_SECTION
260 struct, or to a mutex HANDLE. This is needed in case the user
261 defines G_ERRORCHECK_MUTEXES. G_MUTEX_SIZE must correctly reflect
262 the size of *GMutex, but this used to vary depending on whether we
263 at run-time chose to use CRITICAL_SECTIONs or mutexes.
264 (g_mutex_free_win32_cs_impl, g_cond_free_win32_impl): Call
265 DeleteCriticalSection() when done with it.
267 * gthread-impl.c (g_thread_init_with_errorcheck_mutexes): Call
268 g_thread_impl_init() before accessing
269 g_thread_functions_for_glib_use_default, as the
270 g_thread_impl_init() function might modify it.
272 2001-09-26 Tor Lillqvist <tml@iki.fi>
274 * makefile.mingw.in: Fix couple of typos.
276 * gthread.def: Add g_thread_init_with_errorcheck_mutexes.
278 2001-09-25 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
280 * gthread-impl.c: Corrected the array size (cough, cough). Pointed
281 out by gpablo@intersystems.com.ar. Fixes #61065.
283 2001-09-25 Tor Lillqvist <tml@iki.fi>
285 * Makefile.am: Use new macros for .def file, and check for
286 MS_LIB_AVAILABLE, new rule to build MS import library.
288 * makefile.msc.in: Use same DLL and import library names as
291 2001-09-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
293 * gthread-posix.c: Add g_thread_equal_posix_impl and add to the
294 function vector g_thread_functions_for_glib_use_default.
296 * gthread-solaris.c, gthread-win32.c: Add NULL as equal function,
297 as on those two platforms you don't need an equal function.
299 2001-09-19 Tor Lillqvist <tml@iki.fi>
301 * gthread.rc.in: Correct InternalName and OriginalFilename to
302 match what we actually produce.
304 2001-07-20 Hans Breuer <hans@breuer.org>
306 * makefile.msc.in : reflect glib move
308 2001-06-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
310 * gthread-win32.c: Use g_win32_error_message to beautify error
313 2001-05-24 Hans Breuer <hans@breuer.org>
315 * makefile.msc.in : pthread isn't required anymore
317 2001-05-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
319 * gthread-win32.c (g_cond_wait_internal): Also return TRUE for
320 late arrived signals. Thanks to Steven Brooks
321 <umbrook0@cs.umanitoba.ca> for pointing out.
323 * gthread-impl.c (g_thread_init): Move the thread implementation
324 initialization to before assigning GThreadFuncs, which now is just
325 struct assigned and not memcpy'ed. Completed check for zero
326 members of GThreadFuncs.
328 * makefile.mingw: Don't link to pthread anymore.
330 * gthread-win32.c: New file for native thread support for
331 win32. Thanks to Hans Breuer <hans@breuer.org> to got me
334 * Makefile.am: Also distribute gthread-win32.c.
336 Fri May 4 04:14:45 2001 Tim Janik <timj@gtk.org>
338 * gthread-posix.c (g_cond_timed_wait_posix_impl): don't g_assert()
339 the user specified time, but g_return_val_if_fail() here.
341 2001-04-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
343 * gthread-posix.c: Added special case for priorities on
344 FreeBSD. Thanks to David Reid <dreid@jetnet.co.uk> for the info.
346 * gthread-impl.c: Made two macros safe with ().
348 2001-03-10 Tor Lillqvist <tml@iki.fi>
350 * Makefile.am: Use the _LIBADD dependency on libglib only on
353 2001-02-21 Tor Lillqvist <tml@iki.fi>
355 * Makefile.am: Use libglib-1.3.la from top_builddir. Invoke
356 libtool with -no-undefined for Win32 and Cygwin.
358 * gthread-impl.c (g_thread_init): Win32 code snippet used also on
361 2001-02-15 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
363 * gthread-posix.c: Removed the G_THREAD_USE_PID_SURROGATE
364 implementation, which is now in gthread.c.
366 2001-01-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
368 * gthread-impl.c (g_thread_init_with_errorcheck_mutexes): Call
369 g_thread_impl_init(), as g_thread_init won't call it.
371 * gthread-impl.c (g_mutex_free_errorcheck_impl): Fixed it for
372 real. Sorry for this mess. It looked like a real obvious fix, so I
373 didn't check. Bad boy. Added some casts to quiet the compiler.
375 2001-01-29 Havoc Pennington <hp@redhat.com>
377 * gthread-impl.c (g_mutex_free_errorcheck_impl): hack this so it
378 compiles, needs fixing for real.
380 2001-01-29 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
382 * gthread-impl.c (g_mutex_free_errorcheck_impl): Add new check to
383 errorcheck mutexes to abort, if a locked mutex is freed.
385 2001-01-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
387 * gthread-solaris.c, gthread-posix.c: Made g_thread_min_stack_size
390 2000-11-28 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
392 * gthread-impl.c: Revamped errorcheck mutexes and added errorcheck
393 cond_wait() and cond_timed_wait() funtions. This makes he whole
394 thing work. Now we only show the location of the locking/unlocking
395 for -DG_ERRORCHECK_MUTEXES and not the name of the mutex.
397 2000-11-21 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
399 * gthread-impl.c, gthread-posix.c, gthread-solaris.c: Removed
400 g_thread_map_priority function in favour of the
401 g_thread_priority_map array. Initialize the array with
402 PRIORITY_{...}_VALUE, if available and interpolate beetween the
403 bounds if .._NORMAL_.. and .._HIGH_.. are not available.
405 * gthread-posix.c: If we should use the PID niceness as a
406 surrogate for thread priorities (G_THREAD_USE_PID_SURROGATE is
407 defined), then disable normal priority handling and use PIDs and
408 setpriority() instead. Depends on the thread to write its PID into
409 the place after the thread id right after thread creation.
411 2000-11-15 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
413 * gthread-posix.c: Include <sched.h> if available.
415 2000-11-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
417 * gthread-none.c: Add G_MUTEX_SIZE as needed for gthread-impl.c
419 2000-10-25 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
421 * Makefile.am : Add @GLIB_DEBUG_FLAGS@ to INCLUDES for accessing
422 -DG_ENABLE_DEBUG as needed in gthread-posix.c.
424 * gthread-posix.c: Revamped error handling for native thread
425 function calls. Now EPERM errors are ignored for some commands and
426 only a warning message is output once (at first occurrence).
428 2000-10-15 Raja R Harinath <harinath@cs.umn.edu>
430 * Makefile.am (BUILT_EXTRA_DIST): New variable.
431 (dist-hook): Handle $(BUILT_EXTRA_DIST).
433 2000-09-29 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
435 * gthread-impl.c: Added errorcheck mutexes. New exported function
436 g_thread_init_with_errorcheck_mutexes, which is called instead of
437 g_thread_init, when compiled with -DG_ERRORCHECK_MUTEXES. New
439 g_mutex_(new|lock|trylock|unlock|free)_errorcheck_impl to
440 implement errorcheck mutexes.
442 * gthread-posix.impl.c, gthread-solaris-impl.c: Define the size of
445 2000-09-21 Tor Lillqvist <tml@iki.fi>
447 * makefile.mingw.in: Use pthreads macros from ../build.
449 2000-09-06 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
451 * gthread-posix.c, gthread-solaris.c:
452 s/G_MICROSEC/G_USEC_PER_SEC/ and s/G_NANOSEC/G_NSEC_PER_SEC/
454 2000-09-01 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
456 * gthread-posix.c (g_thread_create_posix_impl): Use GError to
459 * gthread-solaris.c (g_thread_create_solaris_impl): Use GError to
460 report errors as well.
462 2000-05-13 Tor Lillqvist <tml@iki.fi>
464 * makefile.mingw.in: New file, with gthread stuff moved from
465 ../makefile.mingw.in.
467 * Makefile.am: Add to EXTRA_DIST, add rule to build makefile.mingw.
469 2000-04-25 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
471 * gthread-solaris.c (g_mutex_new_solaris_impl): Changed the scope
472 of the initialized mutex to USYNC_THREAD. Thanks to Soeren
473 Sandmann <sandmann@daimi.au.dk> for pointing that out.
475 2000-03-20 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
477 * gthread-posix.c (posix_check_for_error): Forgot a '}' in a macro
478 for DCE-threads. Thanks to Karl Nelson <kenelson@ece.ucdavis.edu>
479 for pointing that out.
481 2000-03-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
483 * gthread-posix.c: Don't use priorities for threads, when the
484 minimal/maximal priorities couldn't be determined at configure
487 * gthread-posix.c: Don't check for errors, when setting the scope
488 of a tread to system, as some posix implementations can't do that
489 and we don't want the thing to fail because of that.
491 2000-02-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
493 * gthread-posix.c, gthread-solaris.c: check for sysconf
494 (_SC_THREAD_STACK_MIN), which returns the minimal stack size for
495 new threads. Patch from Soeren Sandmann <sandmann@daimi.au.dk>.
497 1999-11-16 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
499 * gthread-posix.c, gthread-solaris.c: Changed the prototype of
500 thread_create and thread_self to return the system thread into
501 provided memory instead of a return value. This is necessary, as
502 HPUX has a pthread_t, that is bigger than the biggest integral
503 type there. Made some more functions static.
505 * gthread-posix.c: Small fixes for DCE threads: Detaching has to
506 be done after thread creation for DCE.
508 1999-06-21 Tor Lillqvist <tml@iki.fi>
510 * gthread-posix.c: Guard pthread_attr_setscope call with test
511 for _POSIX_THREAD_PRIORITY_SCHEDULING, which should be defined
512 in a <pthread.h> that supports that feature.
514 1999-06-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
516 * gthread-posix.c, gthread-solaris.c: Added the native
517 implementations for the GLib's extended thread support.
519 * gthread-nspr.c: Removed for good. NSPR is nothing we would want
522 * gthread.c: Renamed to gthread-impl.c to avoid confusion with
523 ../gthread.c (Formerly known as the file called gmutex.c)
525 * testgthread.c: Removed. The new and much extended tests are in
526 ../tests/thread-test.c.
528 * Makefile.am: Changed to reflect the changes above.
530 1999-03-31 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
532 * gthread-posix.c: Use the right default arguments for the
533 construction of mutexes and conds for dce threads, these are
534 &pthread_(cond|mutex)attr_default instead of NULL. Hint from
535 D. Emilio Grimaldo Tunon <emilio_tunon@nl.compuware.com>.
537 1999-03-18 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
539 * Makefile.am (INCLUDES): Added @GTHREAD_COMPILE_IMPL_DEFINES@.
541 1999-03-12 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
543 * gthread-posix.c (g_private_get_posix_impl): Fixed typo for DCE
546 1999-03-11 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
548 * gthread-posix.c: Now handle both dce and posix threads. They are
549 sufficently equal. Please do not commit my change to
550 glib-1-2/gthread/gthread-posix.c from 1999-03-03, as the current
551 change will take care of that too.
553 1999-03-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
555 * gthread-posix.c: Fixed broken mutex_trylock and slightly broken
556 cond_timed_wait functions.
558 1999-02-15 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
560 * testgthread.c (test_mutexes): Use new signature of
561 g_static_mutex* functions.
563 1999-02-08 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
565 * gthread-posix.c (g_private_get_posix_impl): Use the
566 HAVE_PTHREAD_GETSPECIFIC_POSIX macro to determine, which signature
567 to use for pthread_getspecific.
569 Tue Jan 19 20:56:02 1999 Tor Lillqvist <tml@iki.fi>
571 * Makefile.am (EXTRA_DIST): Added gthread.def.
573 Sun Jan 17 10:58:19 1999 Tor Lillqvist <tml@iki.fi>
575 * gthread.def: New file.
577 1999-01-16 1999 Tor Lillqvist <tml@iki.fi>
579 * gthread-posix.c: Conditionalize <sys/time.h> inclusion.
581 1999-01-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
583 * testgthread.c: conditionally compile according to the
584 G_THREADS_IMPL_??? macros.
585 (test_private_func): use rand_r instead of rand to make it
588 1998-12-18 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
590 * testgthread.c (new_thread): As a joinable thread seems to be the
591 default on posix, leave the explicit setting out, as it causes
592 problems on some older platforms.
594 Wed Dec 16 22:21:33 CST 1998 Shawn T. Amundson <amundson@gtk.org>
596 * gthread-posix.c: use g_free in mutex_free (from Tim Janik)
598 Thu Dec 17 03:38:57 1998 Tim Janik <timj@gtk.org>
600 * Makefile.am: -DG_LOG_DOMAIN="GThread", we don't need an extern
601 variable for that (noticed by Joel Becker <jlbec@ocala.cs.miami.edu>)
603 Wed Dec 16 03:16:16 1998 Tim Janik <timj@gtk.org>
605 * testgthread.c: s/g_thread_supported/g_thread_supported ()/
606 * gthread.c: s/g_thread_supported/g_threads_got_initialized/
607 (g_thread_init): bail out if G_THREADS_ENABLED is not defined.
609 1998-12-15 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
611 * Makefile.am (EXTRA_DIST): updated.
613 * testgthread.c, gthread-*.c: Changed private to private_key to
614 avoid problems when compiling with under C++.
617 s/g_mutex_functions_for_glib_use/g_thread_functions_for_glib_use/
619 * ChangeLog: from now on there is an extra ChangeLog for gthread