From 644f2013d637595d9592ad45714788abd8eb6e0e Mon Sep 17 00:00:00 2001 From: normal Date: Sun, 18 Nov 2018 04:34:52 +0000 Subject: [PATCH] vm_trace.c (rb_postponed_job_flush): use rb_atomic_t for mask ec->interrupt_mask will remain rb_atomic_t and is 32-bit on some 64-bit systems while "unsigned long" is 64-bits. So avoid mismatching lengths and stick to rb_atomic_t. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vm_trace.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vm_trace.c b/vm_trace.c index f5e2c921d3..3fc4da9f9a 100644 --- a/vm_trace.c +++ b/vm_trace.c @@ -1665,8 +1665,8 @@ void rb_postponed_job_flush(rb_vm_t *vm) { rb_execution_context_t *ec = GET_EC(); - const unsigned long block_mask = POSTPONED_JOB_INTERRUPT_MASK|TRAP_INTERRUPT_MASK; - volatile unsigned long saved_mask = ec->interrupt_mask & block_mask; + const rb_atomic_t block_mask = POSTPONED_JOB_INTERRUPT_MASK|TRAP_INTERRUPT_MASK; + volatile rb_atomic_t saved_mask = ec->interrupt_mask & block_mask; VALUE volatile saved_errno = ec->errinfo; ec->errinfo = Qnil;