mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 16:44:01 +02:00
Ignore the result of pthread_kill in ubf_wakeup_thread
After an upgrade to Ruby 3.3.0, I experienced reproducible production crashes
of the form:
[BUG] pthread_kill: No such process (ESRCH)
This is the only pthread_kill call in Ruby. The result of pthread_kill was
previously ignored in Ruby 3.2 and below. Checking the result was added in
be1bbd5b7d
(MaNy).
I have not yet been able to create a minimal self-contained example,
but it should be safe to remove the checks.
This commit is contained in:
parent
8ec1c416f7
commit
ef3803ed40
1 changed files with 1 additions and 4 deletions
|
@ -2569,10 +2569,7 @@ ubf_wakeup_thread(rb_thread_t *th)
|
||||||
{
|
{
|
||||||
RUBY_DEBUG_LOG("th:%u thread_id:%p", rb_th_serial(th), (void *)th->nt->thread_id);
|
RUBY_DEBUG_LOG("th:%u thread_id:%p", rb_th_serial(th), (void *)th->nt->thread_id);
|
||||||
|
|
||||||
int r = pthread_kill(th->nt->thread_id, SIGVTALRM);
|
pthread_kill(th->nt->thread_id, SIGVTALRM);
|
||||||
if (r != 0) {
|
|
||||||
rb_bug_errno("pthread_kill", r);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue