irix_threads.cc (GC_pthread_detach): Do not use REAL_FUNC.

* irix_threads.cc (GC_pthread_detach): Do not use REAL_FUNC.
	(GC_pthread_create): Fix typo.
	(GC_TRY_LOCK): Likewise.
	* include/private/gc_locks.h (GC_test_and_set): Only take one
	one argument.
	(LOCK): Adjust appropriately.
	* include/private/gc_priv.h (SIG_SUSPEND): Use SIGRTMIN if
	_SIGRTMIN is unavailable.

From-SVN: r53636
This commit is contained in:
Mark Mitchell 2002-05-19 17:36:14 +00:00 committed by Mark Mitchell
parent bce0deb2b6
commit 61039cd09e
4 changed files with 22 additions and 7 deletions

View File

@ -1,3 +1,14 @@
Sun May 19 11:32:03 2002 Mark P Mitchell <mark@codesourcery.com>
* irix_threads.cc (GC_pthread_detach): Do not use REAL_FUNC.
(GC_pthread_create): Fix typo.
(GC_TRY_LOCK): Likewise.
* include/private/gc_locks.h (GC_test_and_set): Only take one
one argument.
(LOCK): Adjust appropriately.
* include/private/gc_priv.h (SIG_SUSPEND): Use SIGRTMIN if
_SIGRTMIN is unavailable.
2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* acinclude.m4: Allow for PWDCMD to override hardcoded pwd.

View File

@ -221,9 +221,9 @@
# ifdef MIPS
# if __mips < 3 || !(defined (_ABIN32) || defined(_ABI64)) \
|| !defined(_COMPILER_VERSION) || _COMPILER_VERSION < 700
# define GC_test_and_set(addr, v) test_and_set(addr,v)
# define GC_test_and_set(addr) test_and_set(addr, 1)
# else
# define GC_test_and_set(addr, v) __test_and_set(addr,v)
# define GC_test_and_set(addr) __test_and_set(addr,1)
# define GC_clear(addr) __lock_release(addr);
# define GC_CLEAR_DEFINED
# endif
@ -431,7 +431,7 @@
# define NO_THREAD (pthread_t)(-1)
# define UNSET_LOCK_HOLDER() GC_lock_holder = NO_THREAD
# define I_HOLD_LOCK() (pthread_equal(GC_lock_holder, pthread_self()))
# define LOCK() { if (GC_test_and_set(&GC_allocate_lock, 1)) GC_lock(); }
# define LOCK() { if (GC_test_and_set(&GC_allocate_lock)) GC_lock(); }
# define UNLOCK() GC_clear(&GC_allocate_lock);
extern VOLATILE GC_bool GC_collecting;
# define ENTER_GC() \

View File

@ -1916,7 +1916,11 @@ void GC_err_puts GC_PROTO((GC_CONST char *s));
# define SIG_SUSPEND SIGPWR
# endif
# else /* !GC_LINUX_THREADS */
# define SIG_SUSPEND _SIGRTMIN + 6
# if defined(_SIGRTMIN)
# define SIG_SUSPEND _SIGRTMIN + 6
# else
# define SIG_SUSPEND SIGRTMIN + 6
# endif
# endif
# endif /* !SIG_SUSPEND */

View File

@ -519,7 +519,7 @@ int GC_pthread_detach(pthread_t thread)
LOCK();
thread_gc_id = GC_lookup_thread(thread);
UNLOCK();
result = REAL_FUNC(pthread_detach)(thread);
result = pthread_detach(thread);
if (result == 0) {
LOCK();
thread_gc_id -> flags |= DETACHED;
@ -599,7 +599,7 @@ GC_pthread_create(pthread_t *new_thread,
si -> start_routine = start_routine;
si -> arg = arg;
LOCK();
if (!GC_initialized) GC_init();
if (!GC_is_initialized) GC_init();
if (NULL == attr) {
stack = 0;
(void) pthread_attr_init(&new_attr);
@ -655,7 +655,7 @@ VOLATILE GC_bool GC_collecting = 0;
#define SLEEP_THRESHOLD 3
unsigned long GC_allocate_lock = 0;
# define GC_TRY_LOCK() !GC_test_and_set(&GC_allocate_lock,1)
# define GC_TRY_LOCK() !GC_test_and_set(&GC_allocate_lock)
# define GC_LOCK_TAKEN GC_allocate_lock
void GC_lock()