summaryrefslogtreecommitdiff
path: root/thread_pthread.ci
diff options
context:
space:
mode:
Diffstat (limited to 'thread_pthread.ci')
-rw-r--r--thread_pthread.ci17
1 files changed, 9 insertions, 8 deletions
diff --git a/thread_pthread.ci b/thread_pthread.ci
index 3a3249e531..fe7086dc61 100644
--- a/thread_pthread.ci
+++ b/thread_pthread.ci
@@ -206,6 +206,15 @@ native_thread_create(yarv_thread_t *th)
}
static void
+native_thread_join(pthread_t th)
+{
+ int err = pthread_join(th, 0);
+ if (err) {
+ rb_raise(rb_eThreadError, "native_thread_join() failed (%d)", err);
+ }
+}
+
+static void
native_thread_apply_priority(yarv_thread_t *th)
{
struct sched_param sp;
@@ -430,7 +439,6 @@ rb_thread_create_timer_thread(void)
#ifdef PTHREAD_STACK_MIN
pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN);
#endif
- pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
err = pthread_create(&timer_thread_id, &attr, thread_timer, 0);
if (err != 0) {
rb_bug("rb_thread_create_timer_thread: return non-zero (%d)", err);
@@ -439,11 +447,4 @@ rb_thread_create_timer_thread(void)
rb_disable_interrupt(); /* only timer thread recieve signal */
}
-void
-rb_thread_reset_timer_thread(void)
-{
- timer_thread_id = 0;
- rb_thread_create_timer_thread();
-}
-
#endif /* THREAD_SYSTEM_DEPENDENT_IMPLEMENTATION */