summaryrefslogtreecommitdiffstats
path: root/lib/libc_r/uthread/uthread_gc.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc_r/uthread/uthread_gc.c')
-rw-r--r--lib/libc_r/uthread/uthread_gc.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/libc_r/uthread/uthread_gc.c b/lib/libc_r/uthread/uthread_gc.c
index a81ea91..cdc9681 100644
--- a/lib/libc_r/uthread/uthread_gc.c
+++ b/lib/libc_r/uthread/uthread_gc.c
@@ -47,6 +47,7 @@
pthread_addr_t
_thread_gc(pthread_addr_t arg)
{
+ struct pthread *curthread = _get_curthread();
int f_debug;
int f_done = 0;
int ret;
@@ -61,13 +62,13 @@ _thread_gc(pthread_addr_t arg)
pthread_sigmask(SIG_BLOCK, &mask, NULL);
/* Mark this thread as a library thread (not a user thread). */
- _thread_run->flags |= PTHREAD_FLAGS_PRIVATE;
+ curthread->flags |= PTHREAD_FLAGS_PRIVATE;
/* Set a debug flag based on an environment variable. */
f_debug = (getenv("LIBC_R_DEBUG") != NULL);
/* Set the name of this thread. */
- pthread_set_name_np(_thread_run,"GC");
+ pthread_set_name_np(curthread,"GC");
while (!f_done) {
/* Check if debugging this application. */
@@ -82,8 +83,8 @@ _thread_gc(pthread_addr_t arg)
_thread_kern_sig_defer();
/* Check if this is the last running thread: */
- if (TAILQ_FIRST(&_thread_list) == _thread_run &&
- TAILQ_NEXT(_thread_run, tle) == NULL)
+ if (TAILQ_FIRST(&_thread_list) == curthread &&
+ TAILQ_NEXT(curthread, tle) == NULL)
/*
* This is the last thread, so it can exit
* now.
OpenPOWER on IntegriCloud