Skip to content

Commit 92a1ce9

Browse files
author
Jacob Lacouture
committed
always init
1 parent c6b4f02 commit 92a1ce9

File tree

7 files changed

+20
-26
lines changed

7 files changed

+20
-26
lines changed

eval.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ rb_ec_cleanup(rb_execution_context_t *ec, enum ruby_tag_type ex)
262262
EC_POP_TAG();
263263
th = th0;
264264
rb_thread_stop_timer_thread();
265-
rb_thread_stop_deferred_wait_thread(false);
265+
rb_thread_stop_deferred_wait_thread();
266266
ruby_vm_destruct(th->vm);
267267
// For YJIT, call this after ruby_vm_destruct() frees jit_cont for the root fiber.
268268
rb_jit_cont_finish();

process.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1522,7 +1522,7 @@ before_exec_non_async_signal_safe(void)
15221522
* Nowadays, we always stop the timer thread completely to allow redirects.
15231523
*/
15241524
rb_thread_stop_timer_thread();
1525-
rb_thread_stop_deferred_wait_thread(false);
1525+
rb_thread_stop_deferred_wait_thread();
15261526
}
15271527

15281528
#define WRITE_CONST(fd, str) (void)(write((fd),(str),sizeof(str)-1)<0)
@@ -1570,7 +1570,7 @@ after_exec(void)
15701570
{
15711571
rb_thread_reset_timer_thread();
15721572
rb_thread_start_timer_thread();
1573-
rb_thread_start_deferred_wait_thread(false);
1573+
rb_thread_start_deferred_wait_thread();
15741574
}
15751575

15761576
#if defined HAVE_WORKING_FORK || defined HAVE_DAEMON

thread.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5761,7 +5761,7 @@ Init_Thread(void)
57615761
}
57625762

57635763
rb_thread_create_timer_thread();
5764-
rb_thread_start_deferred_wait_thread(true);
5764+
rb_thread_start_deferred_wait_thread();
57655765

57665766
Init_thread_sync();
57675767

thread_none.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,12 @@ thread_sched_blocking_region_exit(struct rb_thread_sched *sched, rb_thread_t *th
4848
}
4949

5050
void
51-
rb_thread_start_deferred_wait_thread(bool init)
51+
rb_thread_start_deferred_wait_thread(void)
5252
{
5353
}
5454

5555
void
56-
rb_thread_stop_deferred_wait_thread(bool destroy)
56+
rb_thread_stop_deferred_wait_thread(void)
5757
{
5858
}
5959

thread_pthread.c

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1328,14 +1328,12 @@ thread_sched_blocking_region_exit(struct rb_thread_sched *sched, rb_thread_t *th
13281328
}
13291329

13301330
void
1331-
rb_thread_start_deferred_wait_thread(bool init)
1331+
rb_thread_start_deferred_wait_thread(void)
13321332
{
1333-
if (init) {
1334-
rb_native_mutex_initialize(&thread_deferred_wait.lock);
1335-
rb_native_cond_initialize(&thread_deferred_wait.cond);
1336-
ccan_list_head_init(&thread_deferred_wait.q_head);
1337-
}
1338-
1333+
rb_native_mutex_initialize(&thread_deferred_wait.lock);
1334+
rb_native_cond_initialize(&thread_deferred_wait.cond);
1335+
ccan_list_head_init(&thread_deferred_wait.q_head);
1336+
thread_deferred_wait.running = true;
13391337
pthread_attr_t attr;
13401338
int r;
13411339
r = pthread_attr_init(&attr);
@@ -1347,23 +1345,19 @@ rb_thread_start_deferred_wait_thread(bool init)
13471345
rb_bug_errno("start_deferred_wait_thread - pthread_create", r);
13481346
}
13491347
pthread_attr_destroy(&attr);
1350-
thread_deferred_wait.running = true;
13511348
}
13521349

13531350
void
1354-
rb_thread_stop_deferred_wait_thread(bool destroy)
1351+
rb_thread_stop_deferred_wait_thread(void)
13551352
{
13561353
rb_native_mutex_lock(&thread_deferred_wait.lock);
13571354
thread_deferred_wait.running = false;
13581355
rb_native_cond_signal(&thread_deferred_wait.cond);
13591356
rb_native_mutex_unlock(&thread_deferred_wait.lock);
13601357
pthread_join(thread_deferred_wait.thread, NULL);
1361-
1362-
if (destroy) {
1363-
VM_ASSERT(ccan_list_empty(&thread_deferred_wait.q_head));
1364-
rb_native_cond_destroy(&thread_deferred_wait.cond);
1365-
rb_native_mutex_destroy(&thread_deferred_wait.lock);
1366-
}
1358+
VM_ASSERT(ccan_list_empty(&thread_deferred_wait.q_head));
1359+
rb_native_cond_destroy(&thread_deferred_wait.cond);
1360+
rb_native_mutex_destroy(&thread_deferred_wait.lock);
13671361
}
13681362

13691363

@@ -1795,7 +1789,7 @@ thread_sched_atfork(struct rb_thread_sched *sched)
17951789
{
17961790
current_fork_gen++;
17971791
rb_thread_sched_init(sched, true);
1798-
rb_thread_start_deferred_wait_thread(true);
1792+
rb_thread_start_deferred_wait_thread();
17991793
rb_thread_t *th = GET_THREAD();
18001794
rb_vm_t *vm = GET_VM();
18011795

thread_win32.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,12 +161,12 @@ thread_sched_blocking_region_exit(struct rb_thread_sched *sched, rb_thread_t *th
161161
}
162162

163163
void
164-
rb_thread_start_deferred_wait_thread(bool init)
164+
rb_thread_start_deferred_wait_thread(void)
165165
{
166166
}
167167

168168
void
169-
rb_thread_stop_deferred_wait_thread(bool destroy)
169+
rb_thread_stop_deferred_wait_thread(void)
170170
{
171171
}
172172

vm_core.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1956,8 +1956,8 @@ void rb_vm_pop_frame(rb_execution_context_t *ec);
19561956

19571957
void rb_thread_start_timer_thread(void);
19581958
void rb_thread_stop_timer_thread(void);
1959-
void rb_thread_start_deferred_wait_thread(bool init);
1960-
void rb_thread_stop_deferred_wait_thread(bool destroy);
1959+
void rb_thread_start_deferred_wait_thread(void);
1960+
void rb_thread_stop_deferred_wait_thread(void);
19611961
void rb_thread_reset_timer_thread(void);
19621962
void rb_thread_wakeup_timer_thread(int);
19631963

0 commit comments

Comments
 (0)