Commit Graph

19 Commits

Author SHA1 Message Date
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
3faf95913d Set the normal PID surrogate priority according to getpid() to avoid
2002-08-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/gthread.c: Set the normal PID surrogate priority according
	to getpid() to avoid errors for niced processes. (#86116)

	* gthread/gthread-impl.c, gthread/gthread-posix.c,
	gthread/gthread-solaris.c: Do the same for the posix/dce
	implementation. Solaris still needs to set priority of the main
	thread, because all unbound threads will schedule according to
	that value and it defaults to 0 (the minimal value).
2002-08-06 13:31:26 +00:00
Sebastian Wilhelmi
5f38e99895 Use thr_min_stack() instead of sysconf (_SC_THREAD_STACK_MIN). if
2002-07-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread/gthread-solaris.c: Use thr_min_stack() instead of
	sysconf (_SC_THREAD_STACK_MIN). if stack_size is 0 on entry to
	g_thread_create_solaris_impl, also pass 0 to thr_create. Otherwise
	the stack might be to small for any nontrivial thread. Discovered
	on intel-solaris by Rajkumar Sivasamy <rajkumar.siva@wipro.com>.
2002-07-03 10:38:49 +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
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
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
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
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
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
Tim Janik
c9bd7542e1 applied patch from Andreas Persenius <ndap@swipnet.se> that updates the
Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>

        * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
        updates the license headers to the GNU Lesser General Public License,
        as well as updating the copyright year to 2000.
2000-07-26 11:02:02 +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
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
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
CST 1999 Shawn T. Amundson
b9ef2b41db inserted additional note to look for ChangeLog and AUTHORS file for a log
Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * *.[ch]: inserted additional note to look for ChangeLog and
	  AUTHORS file for a log of modifications.
1999-02-24 06:14:27 +00:00
Sebastian Wilhelmi
2c30e8620f updated.
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++.
1998-12-15 17:49:30 +00:00
Owen Taylor
931ea95265 This commit merges the glib-threads branch into the main
branch. See the ChangeLog for details of the changes.

In brief overview:

 - The set of threading functions can be set
 - A default implementation is provided in -lgthread
 - All static data structures are locked using these
   functions if g_thread_init() is called.
1998-12-15 05:28:02 +00:00