main->thread.id_control = 0;
}
- // The sigtimedwait() function that is run inside of signal must be interrupted via the f_thread_cancel().
+ // The sigtimedwait() function that is run inside of signal must be interrupted directly via f_thread_signal_write().
if (by != controller_thread_cancel_signal_e && main->thread.id_signal) {
- f_thread_cancel(main->thread.id_signal);
+ f_thread_signal_write(main->thread.id_signal, F_signal_termination);
f_thread_join(main->thread.id_signal, 0);
main->thread.id_signal = 0;
if (F_status_is_error(status)) controller_thread_instance_force_set_disable(main);
}
- // The sigtimedwait() function that is run inside of signal must be interrupted via the f_thread_cancel().
+ // The sigtimedwait() function that is run inside of signal must be interrupted directly via f_thread_signal_write().
if (main->thread.id_signal) {
- f_thread_cancel(main->thread.id_signal);
+ f_thread_signal_write(main->thread.id_signal, F_signal_termination);
f_thread_join(main->thread.id_signal, 0);
main->thread.id_signal = 0;