Commit Graph

165 Commits

Author SHA1 Message Date
Tor Lillqvist
d8b1a22215 gmodule/Makefile.am (gmodule-2.0.lib) Use $(srcdir) for builds outside
2007-01-19  Tor Lillqvist  <tml@novell.com>

	* gmodule/Makefile.am (gmodule-2.0.lib)
	* gthread/Makefile.am (gthread-2.0.lib): Use $(srcdir) for 
	builds outside srcdir.


svn path=/trunk/; revision=5300
2007-01-19 12:15:52 +00:00
Tor Lillqvist
098d17a4fc glib/gthread.c (gettime) GetSystemTimeAsFileTime() returns 100s of
2007-01-16  Tor Lillqvist  <tml@novell.com>

	* glib/gthread.c (gettime)
	* gthread-win32.c (g_gettime_win32_impl):
	GetSystemTimeAsFileTime() returns 100s of nanoseconds since 1601,
	so offset to Unix epoch (1970) and multiply by 100 to get
	nanoseconds which is what we want.


svn path=/trunk/; revision=5277
2007-01-16 13:57:05 +00:00
Tor Lillqvist
5d65767801 glib/gthread.c (gettime) GetSystemTimeAsFileTime() returns 100s of
2007-01-16  Tor Lillqvist  <tml@novell.com>

	* glib/gthread.c (gettime)
	* gthread-win32.c (g_gettime_win32_impl):
	GetSystemTimeAsFileTime() returns 100s of nanoseconds, so multiply
	by 100 to get nanoseconds which is what we want.


svn path=/trunk/; revision=5276
2007-01-16 10:45:58 +00:00
Tor Lillqvist
9216f204e5 Correct link to discussion about CRITICAL_SECTIONs vs. mutexes. Thanks to
2006-12-28  Tor Lillqvist  <tml@novell.com>

	* gthread-win32.c (g_thread_impl_init): Correct link to discussion
	about CRITICAL_SECTIONs vs. mutexes. Thanks to Felix Kater for
	pointing this out.
2006-12-28 10:48:39 +00:00
Matthias Clasen
c4bc3fe91d 2.12.2 2006-08-16 00:45:03 +00:00
Matthias Clasen
395997df20 2.12.1 2006-07-22 18:21:48 +00:00
Matthias Clasen
7f25ce8987 2.12.0 2006-07-02 19:52:14 +00:00
Matthias Clasen
2107d8e3ed 2.11.4 2006-06-20 15:09:06 +00:00
Matthias Clasen
ec50b87916 2.11.3 2006-06-12 15:37:27 +00:00
Matthias Clasen
0c26468057 2.11.2 2006-06-05 17:34:53 +00:00
Matthias Clasen
ba7dd25959 2.11.1 2006-05-15 17:16:28 +00:00
Tor Lillqvist
e1d80e9f7c Free with free() and not g_free() what has been allocated with calloc().
2006-05-03  Tor Lillqvist  <tml@novell.com>

	* gthread-win32.c (g_thread_exit_win32_impl): Free with free() and
	not g_free() what has been allocated with calloc(). (#340530, Jake
	Goulding)
2006-05-03 14:53:06 +00:00
Matthias Clasen
4b17ee97a5 2.11.0 2006-05-03 02:05:01 +00:00
Tor Lillqvist
4c27a10ad3 #define _WIN32_WINDOWS as 0x0401 to get declaration for
2006-03-11  Tor Lillqvist  <tml@novell.com>

	* gthread-win32.c: #define _WIN32_WINDOWS as 0x0401 to get
	declaration for IsDebuggerPresent() when using MSVC6. (#333879,
	Kazuki Iwamoto)
2006-03-11 20:43:42 +00:00
Matthias Clasen
a639cb7cb8 2.10.1 2006-03-07 18:30:23 +00:00
Tor Lillqvist
e94abca52d Increase to 100. 16 was rather low. (g_private_new_win32_impl): Can't use
2006-03-02  Tor Lillqvist  <tml@novell.com>

	* 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-03-02 12:05:40 +00:00
Matthias Clasen
2f4f39095f 2.10.0 2006-02-24 17:17:35 +00:00
Tor Lillqvist
b4168ad3b2 Make the implementation of GPrivate behave more closely as in POSIX
2006-02-20  Tor Lillqvist  <tml@novell.com>

	* 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-20 02:47:30 +00:00
Matthias Clasen
72abb1a5ac 2.9.6 2006-02-11 14:05:58 +00:00
Matthias Clasen
666e90eae6 2.9.5 2006-01-27 14:37:02 +00:00
Matthias Clasen
1154014f26 2.9.4 2006-01-18 17:16:21 +00:00
Matthias Clasen
7f737f1f34 2.9.3 2006-01-17 00:00:17 +00:00
Matthias Clasen
9090c67afc 2.9.2 2006-01-06 05:07:47 +00:00
Matthias Clasen
eff8046fcc 2.9.1 2005-12-09 18:05:25 +00:00
Matthias Clasen
f42f6da6d5 Remove support for Solaris threads. (#136971, Sebastian Wilhelmi, patch by
2005-12-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/gspawn.c:
	* configure.in: Remove support for Solaris threads.
	(#136971, Sebastian Wilhelmi, patch by Andrew Paprocki)
2005-12-02 21:37:25 +00:00
Matthias Clasen
d7deadb1e2 2.9.0 2005-11-18 13:58:48 +00:00
Matthias Clasen
4bf14f1c4e 2.8.1 2005-08-23 04:35:33 +00:00
Matthias Clasen
6de0ca7807 2.8.0 2005-08-12 17:18:55 +00:00
Matthias Clasen
d5c882abc4 2.7.7 2005-08-05 16:09:42 +00:00
Matthias Clasen
6e103ba100 2.7.6 2005-08-03 20:58:37 +00:00
Matthias Clasen
e4c231a62a 2.7.5 2005-08-02 16:17:48 +00:00
Matthias Clasen
3c6e2da565 2.7.4 2005-07-22 17:02:04 +00:00
Matthias Clasen
1760b7074d 2.7.3 2005-07-15 17:28:17 +00:00
Tor Lillqvist
521a964f8c Typo. 2005-07-09 00:12:04 +00:00
Tor Lillqvist
d22f051252 Don't use autoconf variables for the resource object files on Win32 any
2005-07-09  Tor Lillqvist  <tml@novell.com>

	* configure.in: Don't use autoconf variables for the resource
	object files on Win32 any longer. Instead handle that in the
	Makefile.am files. Check for windres.

	* glibconfig.h.win32.in: Minor tuning to match the
	configure-produced glibconfig.h closely.

	* */Makefile.am: Don't use the scripts in build/win32 to
	compile the .rc file into a resource object file. (This means
	we loose 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.

	* */*.rc.in: Thus replace BUILDNUMBER with 0.
2005-07-08 23:04:06 +00:00
Matthias Clasen
138f260fbc 2.7.2 2005-07-08 15:48:32 +00:00
Matthias Clasen
399b0456ce 2.7.1 2005-06-30 21:01:58 +00:00
Tor Lillqvist
2e13949ab6 libtool installs/uninstalls the import library, no need to do it
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-26 18:07:13 +00:00
Matthias Clasen
604ad5fa3d 2.7.0 2005-06-10 15:48:25 +00:00
Matthias Clasen
f15bb122ce Allow setstacksize to fail. (#304790, Michael Banck)
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* gthread-posix.c (g_thread_create_posix_impl): Allow
	setstacksize to fail.  (#304790, Michael Banck)
2005-06-09 15:25:01 +00:00
Matthias Clasen
3d1e4844bb 2.6.1 2005-01-07 16:58:16 +00:00
Matthias Clasen
32247a04c6 2.6.0 2004-12-16 05:48:25 +00:00
Matthias Clasen
23265157fb 2.5.7 2004-12-02 21:13:05 +00:00
Matthias Clasen
98121469ec 2.5.6 2004-11-12 17:15:54 +00:00
Matthias Clasen
7f1bfaee74 *** empty log message *** 2004-11-02 23:06:58 +00:00
Matthias Clasen
25dc3ce452 2.5.4 2004-10-27 17:56:33 +00:00
Matthias Clasen
36e34772d8 2.5.3 2004-09-18 21:03:46 +00:00
Matthias Clasen
7f014a1ff3 2.5.2 2004-08-25 05:02:57 +00:00
Matthias Clasen
5b1c38b0b3 2.5.1 2004-08-01 03:51:21 +00:00
Soeren Sandmann
0192c59937 === Released 2.5.0 ===
Sun Jul 18 19:40:30 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* === Released 2.5.0 ===

	* Makefile.am (BUILT_EXTRA_DIST): move gtk-doc.make here.
2004-07-18 17:44:23 +00:00
Tor Lillqvist
f87a83cc15 Fix two bugs: 1) If abs_time is NULL, should use infinite time. 2) Check
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)
2002-11-25 23:08:27 +00:00
Owen Taylor
d4407e38fa Include config.h so DISABLE_MEMPOOLS actually has an effect. (#96437,
Mon Nov  4 14:41:48 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gbsearcharray.c: Include config.h
        so DISABLE_MEMPOOLS actually has an effect.
        (#96437, Morten Welinder)

        * tests/uri-test.c: Include <config.h>

Mon Nov  4 14:42:36 2002  Owen Taylor  <otaylor@redhat.com>

        * gtype.c gsignal.c gvaluearray.c: Include config.h
        so DISABLE_MEMPOOLS actually has an effect.
        (#96437, Morten Welinder)

        * gsignal.c: Conditionalize definition of g_handler_ts
        on DISABLE_MEM_POOLS (#96437)

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

        * gthread-posix.c gthread-solaris.c: Include <config.h>
2002-11-04 20:09:48 +00:00
Sebastian Wilhelmi
5bbea163f2 Do a comparison, not an assignment, stupid! Spotted by Daniel Elstner
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-03-10 09:15:09 +00:00
Sebastian Wilhelmi
6715999ca1 Fixed typo in G_THREADS_ENABLED.
2002-02-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* Fixed typo in G_THREADS_ENABLED.
2002-02-09 20:23:01 +00:00
Sebastian Wilhelmi
9e240b85cc Make --disable-threads work again. (#71034)
2002-02-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Make --disable-threads work again. (#71034)

	* gthread-impl.c: Only compile most of this file, if
	G_THREAD_ENABLED is set.
2002-02-09 20:08:06 +00:00
Sebastian Wilhelmi
a1f5b005fa Ops. Fixed ChangeLog.
Ops. Fixed ChangeLog.
2002-01-16 09:06:34 +00:00
Sebastian Wilhelmi
926d797b59 Use g_free instead of free. Pointed out by Sam O'Connor <sam@panviva.com>.
2002-01-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-posix.c: Use g_free instead of free. Pointed out by Sam
	O'Connor <sam@panviva.com>.
2002-01-16 09:03:52 +00:00
Tor Lillqvist
20af1ed309 If we have built the MSVC import library, install it. Install the gcc
2001-10-23  Tor Lillqvist  <tml@iki.fi>

	* {glib,gmodule,gobject,gthread}/Makefile.am: (Win32): If we
	have built the MSVC import library, install it. Install the
	gcc import library. Also support uninstall.
2001-10-22 22:14:26 +00:00
Bruno Haible
34462896a0 When the sublangid is SUBLANG_DEFAULT, return the locale of the language's
2001-09-24  Bruno Haible  <haible@clisp.cons.org>

	* glib/gwin32.c (g_win32_getlocale): When the sublangid is
	SUBLANG_DEFAULT, return the locale of the language's main country,
	not a country-neutral locale. E.g. "en_US" instead of "en". Add
	handling of LANG_SORBIAN. Fix typo for SUBLANG_CHINESE_SIMPLIFIED
	(China == CN, CH == Switzerland). Ignore empty environment
	variable values.

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

	* glib/makefile.{mingw,msc}.in: Add localcharset.o. Just copy the
	source file from libcharset and compile in this directory.

	* glib/giochannel.c: Mark rest of g_set_error strings for
	translation, too.

	* glib/giowin32.c: Add some debugging output functions, call them
	when debugging.
	(create_events, g_io_win32_msg_write): Free message fetched with
	g_win32_error_message ().
	(g_io_win32_check): Indentation fixes.
	(g_io_win32_fd_read,g_io_win32_sock_read): Don't always return
	G_IO_STATUS_NORMAL. Do return G_IO_STATUS_EOF if we got 0 bytes,
	like on Unix. This helps making the test programs run
	successfully.

	* glib/gmain.c (g_poll): Return the code ifdeffed out with
	TEST_WITHOUT_THIS. Can't remember why it was ifdeffed out. Things
	seem to work as previously with the code in place. Especially
	spawn-test didn't work with the code ifdeffed out (Bug#61067).

	* glib/grand.c (g_rand_new): Don't try to use /dev/urandom unless
	on Unix.

	* glib/gspawn-win32-helper.c (WinMain): Remove Sleep(10000)
	accidentally left in.

gthread:

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.

po:

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

	* POTFILES.in: Add iochannel.c and giowin32.c.

	* sv.po: Remove a bogus fuzziness indicator.
2001-09-27 22:07:00 +00:00
Tor Lillqvist
18190575f8 Retract my change earlier today. Don't preset autoconf variables in a try
2001-09-26  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Retract my change earlier today. Don't preset
	autoconf variables in a try to match both mingw and MSVC. Instead,
	he who packages a prebuilt GLib developer distribution for Win32
	runs configure twice: once for mingw, once for MSVC, and then uses
	diff -D on the glibconfig.h files to generate a suitably ifdeffed
	glibconfig.h for distribution that suits both compilers. (Ditto
	for config.h, although that file wouldn't be distributed in a
	developer package, but in a source package for Win32 users who
	want to build GLib but can't use configure.)

	* glibconfig.h.win32.in
	* config.h.win32.in: Generated by using diff -D as described above.

	* tests/makefile.mingw.in (.c.exe): Correct name of gthread (import)
	library.

gthread:
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-26 20:35:51 +00:00
Sebastian Wilhelmi
e29682d0ad Corrected the array size (cough, cough). Pointed out by
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 07:17:50 +00:00
Tor Lillqvist
1c8de25a5e More Win32 automake macros. For .def files: GLIB_DEF, GMODULE_DEF,
2001-09-25  Tor Lillqvist  <tml@iki.fi>

	* configure.in: More Win32 automake macros. For .def files:
	GLIB_DEF, GMODULE_DEF, GOBJECT_DEF and GTHREAD_DEF. For .exp
	files: TESTGMODULE_EXP (for programs that need to export symbols,
	just testgmodule here). A new conditional, MS_LIB_AVAILABLE to
	test whether the Microsoft librarian ("ar") is available to build
	MS import libraries.

	* glib/Makefile.am
	* gmodule/Makefile.am: Use above. New rule to build MS import
	library.

	* glib/makefile.msc.in
	* tests/makefile.msc.in
	* tests/makefile.mingw.in: Use same DLL and import library names as
	libtool.

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

	* makefile.mingw.in: Fix missing end @ in @LT_CURRENT@.

	* makefile.msc.in: Use same DLL and import library names as
	libtool.

gobject:
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.

gthread:
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-25 06:03:23 +00:00
Sebastian Wilhelmi
f8f4c3778a Add thread_equal function to allow for platform defined function to
2001-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/gthread.h (GThreadFunctions): Add thread_equal function to
	allow for platform defined function to compare two threads.

	* glib/gthread.c: Use g_thread_functions_for_glib_use.thread_equal
	when non-NULL instead of ==.

	* gthread/gthread-posix.c: Add g_thread_equal_posix_impl and
	add to the function vector g_thread_functions_for_glib_use_default.

	* gthread/gthread-solaris.c, gthread/gthread-win32.c: Add NULL
	as equal function, as on those two platforms you don't need an
	equal function.
2001-09-19 12:46:39 +00:00
Tor Lillqvist
ee910d1ffe Correct InternalName and OriginalFilename to match what we actually
2001-09-19  Tor Lillqvist  <tml@iki.fi>

	* gthread.rc.in: Correct InternalName and OriginalFilename to
	match what we actually produce.
2001-09-19 01:00:52 +00:00
Hans Breuer
606033cffa reflect glib move
2001-07-20  Hans Breuer  <hans@breuer.org>

	* makefile.msc.in : reflect glib move
2001-07-20 17:01:30 +00:00
Sebastian Wilhelmi
9600d5cd53 Use g_win32_error_message to beautify error messages.
2001-06-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-win32.c: Use g_win32_error_message to beautify error
	messages.
2001-06-07 10:34:22 +00:00
Hans Breuer
81cd6c9f6c pthread isn't required anymore
2001-05-24  Hans Breuer  <hans@breuer.org>

	* makefile.msc.in : pthread isn't required anymore
2001-05-24 16:36:47 +00:00
Sebastian Wilhelmi
896d677f45 Also return TRUE for late arrived signals. Thanks to Steven Brooks
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.
2001-05-22 14:20:58 +00:00
Sebastian Wilhelmi
d6ed8e36e7 Removed POSIX_*. Defined G_THREAD_SOURCE to "gthread-win32.c".
2001-05-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

        * config.h.win32.in: Removed POSIX_*. Defined G_THREAD_SOURCE to
        "gthread-win32.c".

        * glibconfig.h.win32.in: Define G_HAVE_ISO_VARARGS for gcc, don't
        know about MSC. Define G_THREADS_IMPL_WIN32 instead of
        G_THREADS_IMPL_POSIX and define the right static mutex macros and
        types.

        * build/win32/make.mingw (CXX): Removed PTHREAD defs. Added
	-O2 -Wall to compile flags.

        * gthread/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.

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

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

        * gthread/Makefile.am: Also distribute gthread-win32.c.
2001-05-22 12:28:06 +00:00
Tim Janik
4d7747a58e don't g_assert() the user specified time, but g_return_val_if_fail() here.
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-05-08 05:25:35 +00:00
Sebastian Wilhelmi
72cab5027f Added special case for priorities on FreeBSD. Thanks to David Reid
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-04-03 12:49:44 +00:00
Tor Lillqvist
8f69a82ccb Use the _LIBADD dependencies on libglib only on Win32.
2001-03-10  Tor Lillqvist  <tml@iki.fi>

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

	* gobject/gobject.def: Add a couple of missing entries.
2001-03-10 20:03:53 +00:00
Tor Lillqvist
9c5f5a01ce Use libglib-1.3.la from top_builddir. Invoke libtool with -no-undefined
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-03-09 21:41:37 +00:00
Sebastian Wilhelmi
efb2e89e07 Reverted the changes necessary to enlarge the system thread for
2001-02-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* acconfig.h, configure.in: Reverted the changes necessary to
	enlarge the system thread for G_THREAD_USE_PID_SURROGATE.

	* gthread.c: Now implement G_THREAD_USE_PID_SURROGATE in gthread.c
	instead of gthread/gthread-posix.c. While the latter has the
	advantage, that it is conceptually cleaner, it makes
	g_thread_self_posix_impl _very_ slow and that hurts
	GStaticRecMutex and other things. So the new version is less
	clean, but faster.

	* gthread-posix.c: Removed the G_THREAD_USE_PID_SURROGATE
	implementation, which is now in gthread.c.
2001-02-15 16:43:02 +00:00
Sebastian Wilhelmi
f9dfcb27b7 Call g_thread_impl_init(), as g_thread_init won't call it.
2001-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

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


	* glib/glib-sections.txt, glib/tmpl/threads.sgml: Added
	g_static_mutex_free

	* gthread.c, gthread.h: Added g_static_mutex_free to allow using
	GStaticMutexes with limited lifetime without leaking.

	* configure.in: GStaticMutex doesn't have to provide extra space
	for debugging information for G_ERRORCHECK_MUTEXES, as then the
	non-default implementation (runtime_mutex) is used anyway.
2001-01-30 14:16:56 +00:00
Sebastian Wilhelmi
1f46d9f68f Added debug information for g_mutex_free calls, if G_ERRORCHECK_MUTEXES is
2001-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread.h (g_cond_wait): Added debug information for
	g_mutex_free calls, if G_ERRORCHECK_MUTEXES is defined.

	* gthread/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-30 09:03:22 +00:00
Havoc Pennington
e6e88520c9 hack this so it compiles, needs fixing for real.
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 17:31:40 +00:00
Sebastian Wilhelmi
c96ad49767 Broadcast the condition, if there are waiting readers, as all might read
2001-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread.c: Broadcast the condition, if there are waiting
	readers, as all might read at the same time. Only signal the
	writer thread, if there are no more readers.

	* gthread/gthread-impl.c (g_mutex_free_errorcheck_impl): Add
        new check to errorcheck mutexes to abort, if a locked mutex is freed.
2001-01-29 16:32:26 +00:00
Sebastian Wilhelmi
b1d840c20a Made g_thread_min_stack_size static.
2001-01-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

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

2CVS: ----------------------------------------------------------------------
2001-01-03 17:00:43 +00:00
Sebastian Wilhelmi
fe0f325777 Revamped errorcheck mutexes and added errorcheck cond_wait() and
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.

	* gthread.c: Set the thread data before locking the mutex, because
	the locking call might use g_thread_self ().

	* gthread.h: Do only show the location of the locking/unlocking
	for -DG_ERRORCHECK_MUTEXES and not the name of the mutex. Add the
	errorcheck capability for g_cond_wait and g_cond_timed_wait as
	well.
2000-11-28 12:56:57 +00:00
Sebastian Wilhelmi
a3036a5bd2 Add a surrogate for thread priorities using PID niceness for systems with
2000-11-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Add a surrogate for thread priorities using PID
	niceness for systems with no thread priorities and different PIDs
	for threads of the same process (most notably: Linux). Define
	G_THREAD_USE_PID_SURROGATE in that case, as used by
	gthread-posix.c. Also make the system thread bigger by
	sizeof (long) to contain the thread's PID.

	* gfileutils.c: Include stdlib.h for mkstemp prototype.

	* gthread.c: Add priority range checks to the affected functions.

	* gthreadpool.c: Remove unused variable.

	* 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-21 15:27:44 +00:00
Sebastian Wilhelmi
b9731eb861 Check for the sched.h header and include it on gthread/gthread-posix.c if
2000-11-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Check for the sched.h header and include it on
	gthread/gthread-posix.c if available.

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

	* configure.in: Add -D_POSIX4_DRAFT_SOURCE to
	GTHREAD_COMPILE_IMPL_DEFINES. Also add -D_POSIX4A_DRAFT10_SOURCE
	to G_THREAD_CFLAGS. Really deploy GTHREAD_COMPILE_IMPL_DEFINES,
	when searching for thread libs. Look for sched_* functions in
	-lrte as well. All of that is necessary on DG/UX.

	* configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADERS in
	various places to make it work more reliable, to make it accept
	macros instead of functions etc.

	* configure.in: Replace some NULL's for checks with 0 to make it
	work without stdio.h everywhere.

	* configure.in, gutils.c: changed the test for getpwuid_r to first
	test for a posix version and then for a non-posix version. No code
	change in gutils.c. Again this change deals better with getpwuid_r
	being a macro and not a function. Most of the above with kind help
	from Tethys <tet@isengard.europe.dg.com>. This fixes Bug #13403.
2000-11-15 17:48:43 +00:00
Sebastian Wilhelmi
1d126e44f2 Add G_MUTEX_SIZE as needed for gthread-impl.c
2000-11-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-none.c: Add G_MUTEX_SIZE as needed for gthread-impl.c
2000-11-02 13:04:16 +00:00
Sebastian Wilhelmi
b13320f78b Add @GLIB_DEBUG_FLAGS@ to INCLUDES for accessing -DG_ENABLE_DEBUG as
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-25 10:58:46 +00:00
Raja R Harinath
a626a650e5 gmodule: New variable. (dist-hook): Handle $(BUILT_EXTRA_DIST).
gmodule:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).

gobject:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
(*): Remove traces of @STRIP_{BEGIN,END}@.

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

docs/reference:
'make distcheck' fixes.
* glib/Makefile.am (EXTRA_DIST): Add $(DOC_MODULE)-decl.txt.
(html): Run 'gtkdoc-fixxref' in $(srcdir).
(dist-check-gtkdoc): Add missing quote.
(dist-hook): Copy in dependency order, so that none of the
makerules are fired in a tarball build.

* gobject/Makefile.am: Likewise.

toplevel:
Remove need for acconfig.h, and misc. cleanups.
* acglib.m4 (GLIB_SIZEOF): Add 'autoheader' comment to
AC_DEFINE_UNQUOTED.
(GLIB_BYTE_CONTENTS): Likewise.

* configure.in: Add 'autoheader' comments to all AC_DEFINE(...)
and AC_DEFINE_UNQUOTED(...) lines.
Replace AC_MSG_CHECKING/AC_CACHE_VAL with AC_CACHE_CHECK.
(AM_PROG_LIBTOOL): Move after AC_PROG_CC.

* acconfig.h: Empty out.

* Makefile.am (BUILT_EXTRA_DIST): New variable.  List 'dist'able
files that are created in the builddir.
(dist-hook): Handle those files.
(libglib_1_3_la_SOURCES): Remove @ALLOCA@.  @ALLOCA@ should only
be used in an _LDADD or _LIBADD, since it expands (if necessary)
to 'alloca.o'.

* tests/Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
2000-10-16 01:02:19 +00:00
Sebastian Wilhelmi
7633908c93 Added errorcheck mutexes. These are activated through the preprocessor
2000-09-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in, glib.h: Added errorcheck mutexes. These are
	activated through the preprocessor symbol
	G_ERRORCHECK_MUTEXES. Need to add an extra word to StaticMutex in
	order to achieve this. g_(static_)mutex_* functions instrument the
	mutex operations with mutex name and location, when compiled with
	-DG_ERRORCHECK_MUTEXES. g_thread_init activates the errorcheck
	mutexes, when compiled with -DG_ERRORCHECK_MUTEXES.

	* gthread/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/gthread-posix.impl.c, gthread/gthread-solaris-impl.c:
        Define the size of a mutex.
2000-09-29 13:10:41 +00:00
Tor Lillqvist
599be596c2 Add gconvert.o. Use libiconv.
2000-09-21  Tor Lillqvist  <tml@iki.fi>

	* makefile.mingw.in: Add gconvert.o. Use libiconv.

	* config.h.win32.in: Define HAVE_GETCWD.

	* glib.def: Add new entry points.

	* gthread/makefile.mingw.in: Use pthreads macros from ../build.
2000-09-21 16:17:32 +00:00
Sebastian Wilhelmi
ef2dcd6265 s/G_MICROSEC/G_USEC_PER_SEC/
2000-09-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h, gtimer.c, tests/thread-test.c:
	s/G_MICROSEC/G_USEC_PER_SEC/

	* gthread/gthread-posix.c, gthread/gthread-solaris.c:
	s/G_MICROSEC/G_USEC_PER_SEC/ and s/G_NANOSEC/G_NSEC_PER_SEC/
2000-09-06 13:56:17 +00:00
Sebastian Wilhelmi
4d1cb41ef9 Use GError to report errors as well.
2000-09-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-solaris.c (g_thread_create_solaris_impl): Use GError to
	report errors as well.
2000-09-01 13:33:04 +00:00
Sebastian Wilhelmi
64bbfbb6da Include gerror.h before it is used for some g_thread_* functions.
2000-09-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h: Include gerror.h before it is used for some g_thread_*
	functions.

	* gthread.c, gthreadpool.c, glib.h: Enable error reporting for
	thread creation, namly for g_thread_create, g_thread_pool_new,
	g_thread_pool_push and g_thread_pool_set_max_threads.

	* tests/thread-test.c, tests/threadpool-test.c: Adapted
	accordingly.

	* gthread-posix.c (g_thread_create_posix_impl): Use GError to
	report errors.
2000-09-01 13:03:23 +00:00
Tor Lillqvist
77866eaf9b makefile.mingw.in tests/makefile.mingw.in Rename makefile.cygwin(.in) to
2000-05-13  Tor Lillqvist  <tml@iki.fi>

* makefile.mingw.in
* tests/makefile.mingw.in
* build-dll: Rename makefile.cygwin(.in) to
makefile.mingw(.in), which better describes what it is. Move the
build of gmodule, gthread and gobject DLLs to makefiles in those
directories. Move resource file handling and build number bump to
build-dll, where it sits much cleaner.

* README.win32
* Makefile.am (EXTRA_DIST): Update accordingly.

* glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
implementations.

* glib.def: Add g_strcanon.

* gtree.c (g_tree_node_rotate_left): Remove unused variables.

* gwin32.c (g_win32_opendir): Remove unneeded statement.

gmodule:

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

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

gobject:
* makefile.mingw.in
* gobject.def
* gobject.rc.in: New files, for Win32 (mingw) build.

* Makefile.am: Add to EXTRA_DIST. Add rules to produce the
corresponding non-*.in files.

* gtype.h: (Win32:) Mark _g_type_fundamental_last for
export/import from DLL.

gthread:
* 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-05-13 19:30:58 +00:00
Sebastian Wilhelmi
7e3c98f8e9 Changed the scope of the initialized mutex to USYNC_THREAD. Thanks to
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-04-25 13:44:43 +00:00
Sebastian Wilhelmi
68c4ed996f Forgot a '}' in a macro for DCE-threads. Thanks to Karl Nelson
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-20 16:43:28 +00:00
Sebastian Wilhelmi
5e7134375e Added the missing POSIX_NO_YIELD and POSIX_NO_PRIORITIES warning messages.
2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Added the missing POSIX_NO_YIELD and
	POSIX_NO_PRIORITIES warning messages.

	* configure.in: Use AC_TRY_RUN instead of AC_TRY_LINK, to test for
	real thread support. On solaris pthread_create can be linked to
	even in -lc, but it doesn't work then.

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

	* configure.in, gthread.c: Always define GSystemThread in
	glibconfig.h to represent a system thread.

	* configure.in: Do not use native recursive threads, when
	possibe. We use some features, that they do not expose (namely the
	depth counter).

	* glib.h, gthread.c: Redefined GStaticRecMutex. The functions are
	now implemented in a different way, which should be way
	faster. Alsothere are now functions g_static_rec_mutex_unlock_full
	and g_static_rec_mutex_lock_full to leave/enter a recursive mutex
	completly.

	* gthread.c (g_thread_self): Do not test the system_thread to be
	non-zero to speed things up.

	* gthread.c (g_mutex_init): Therefore set the system_thread of the
	main thread here.

	* tests/thread-test.c: Rerun all tests once again, but this time
	we fool the system into thinking, that the available thread system
	is not native, but userprovided.

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

	* gthread/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-03-17 14:49:59 +00:00
Sebastian Wilhelmi
ac6c1d7c59 check for sysconf (_SC_THREAD_STACK_MIN), which returns the minimal stack
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>.
2000-02-22 13:11:24 +00:00
Sebastian Wilhelmi
f0f028abd2 Changed the prototype of thread_create and thread_self to return the
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-11-16 10:29:27 +00:00
Tim Janik
87c7aeb93b 18:36. incorporated proposed cleanups from gtk-devel-list.
Sat Jul 24 20:11:35 1999  Tim Janik  <timj@gtk.org>

        * merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
        * incorporated proposed cleanups from gtk-devel-list.

        * bumped version number to GLib-1.3.1

        * glib.h:
        * gqueue.c:
        * gstring.c:
        * glist.c:
        removed string tokenisation (we got g_strsplit() and g_strjoin()
        already) and readline functions.
        s/g_list_delete/g_list_delete_link.
        implemented g_slist_delete_link.
        removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
        macro, g_atexit() is provided for public consumption.
        added GTrashStack inline utility functions.
        reimplement double eneded queues.
        removed GStack implementation, people can use a queue or a (singly)
        linked list for this task.
        deprecated g_strescape(), we need the SunOS variants here.

        * gdate.c: added DEBUG_MSG() macro to wrap old messages.

        * *.*: CVS merges.

        * upgrade to libtool 1.3.3.
1999-07-24 18:50:58 +00:00
Tor Lillqvist
be80f9a106 Update the pthreads snapshot version we want. Advice how to hand-expand
* README.win32: Update the pthreads snapshot version we want.
	Advice how to hand-expand the makefile.*.in files.

	* config.h.win32.in: Define values needed by Sebastian Wilhelmi's
	new thread stuff.

	* glib.def: Add new functions.

	* glibconfig.h.win32.in: Update the pthreads snapshot version.
	Fix typo.

	* gthread.c: Include config.h, guard inclusion of unistd.h.  When
 	using gcc on Win32, g_thread_functions_for_glib_use must be marked
 	for export here, too.

	* gtimer.c: Implement g_usleep on native Win32 using Sleep (which
	only has millisecond granularity, though).

	* makefile.cygwin.in
	* makefile.msc.in: Update pthreads snapshot version. File
	name changes. Remove testgthread.

	* tests/makefile.cygwin.in
	* tests/makefile.msc.in: Add thread-test. Link with gthread lib.

	* 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-20 22:20:43 +00:00
Sebastian Wilhelmi
90f6cc9bf2 Completed the thread support in GLib. Thread creation, prioritizing
1999-06-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in, acglib.m4, acconfig.h, glib.h, gthread.c:
	Completed the thread support in GLib. Thread creation,
	prioritizing threads, yielding, joining threads as well as
	reader/writer locks and recursive mutexes are now in place. Please
	test heavily on your platform. It is so far tested on
	Linux/i386/pthreads, Solaris/Sparc/pthreads and
	Solaris/Sparc/solaristhreads.

	* gtimer.c, glib.h: Implement g_usleep (gulong microseconds) for
	thread safe sleeping. (sleep() is not MT-safe at all!)

	* gutils.c: Avoid compiler warning.

	* tests/Makefile.am, tests/thread-test.c: New program to test some
	aspects of the thread implementation.

	* gthread.c, Makefile.am: Renamed from gmutex.c to reflect the
	change of content.

	* configure.in: Purged all appearances of nspr.

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

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

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

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

	* gthread/Makefile.am: Changed to reflect the changes above.
1999-06-17 15:39:31 +00:00
Sebastian Wilhelmi
8b63644aab Use the right default arguments for the construction of mutexes and conds
1999-03-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread/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-31 09:28:59 +00:00