Use atomic load for signal buff size

This commit is contained in:
John Hawthorn 2025-05-14 19:59:03 -07:00
parent 05e0e7223a
commit e7f97eb2f3
Notes: git 2025-05-20 17:00:20 +00:00
2 changed files with 2 additions and 3 deletions

View File

@ -22,7 +22,6 @@ race_top:push_subclass_entry_to_list
race:objspace_malloc_increase_body
# Signals and ubf
race_top:rb_signal_buff_size
race:unregister_ubf_list
# It's already crashing. We're doing our best

View File

@ -710,7 +710,7 @@ sighandler(int sig)
int
rb_signal_buff_size(void)
{
return signal_buff.size;
return RUBY_ATOMIC_LOAD(signal_buff.size);
}
static void
@ -738,7 +738,7 @@ rb_get_next_signal(void)
{
int i, sig = 0;
if (signal_buff.size != 0) {
if (rb_signal_buff_size() != 0) {
for (i=1; i<RUBY_NSIG; i++) {
if (signal_buff.cnt[i] > 0) {
ATOMIC_DEC(signal_buff.cnt[i]);