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
This commit is contained in:
normal 2018-11-18 04:34:52 +00:00
Родитель 5c334727f1
Коммит 644f2013d6
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -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;