void synchronous_signal_handler_impl()
{
- factor_vm *vm = current_vm_p();
- if (vm)
- vm->synchronous_signal_handler_impl();
+ current_vm()->synchronous_signal_handler_impl();
}
void factor_vm::fp_signal_handler_impl()
void synchronous_signal_handler(int signal, siginfo_t *siginfo, void *uap)
{
- factor_vm *vm = current_vm();
- vm->signal_number = signal;
- vm->dispatch_signal(uap,factor::synchronous_signal_handler_impl);
+ factor_vm *vm = current_vm_p();
+ if (vm)
+ {
+ vm->signal_number = signal;
+ vm->dispatch_signal(uap,factor::synchronous_signal_handler_impl);
+ } else
+ fatal_error("Foreign thread received signal ", signal);
}
void next_safepoint_signal_handler(int signal, siginfo_t *siginfo, void *uap)
factor_vm *vm = current_vm_p();
if (vm)
vm->enqueue_safepoint_signal(signal);
+ else
+ fatal_error("Foreign thread received signal ", signal);
}
void ignore_signal_handler(int signal, siginfo_t *siginfo, void *uap)
bignum * * quotient, bignum * * remainder, int q_negative_p, int r_negative_p);
void bignum_divide_unsigned_normalized(bignum * u, bignum * v, bignum * q);
bignum_digit_type bignum_divide_subtract(bignum_digit_type * v_start, bignum_digit_type * v_end,
- bignum_digit_type guess, bignum_digit_type * u_start);
+ bignum_digit_type guess, bignum_digit_type * u_start);
void bignum_divide_unsigned_medium_denominator(bignum * numerator,bignum_digit_type denominator,
bignum * * quotient, bignum * * remainder,int q_negative_p, int r_negative_p);
void bignum_destructive_normalization(bignum * source, bignum * target, int shift_left);