* Added SIGNAL_FLAG_DONT_RESTART_SYSCALL for send_signal_etc() which
utilizes the THREAD_FLAG_DONT_RESTART_SYSCALL (but only in SIGCONT for now). * resume_thread() is now using that flag to be compatible with BeOS. * This fixes the Terminal hanging on close. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24045 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -499,6 +499,9 @@ deliver_signal(struct thread *thread, uint signal, uint32 flags)
|
||||
if (thread->state == B_THREAD_SUSPENDED)
|
||||
scheduler_enqueue_in_run_queue(thread);
|
||||
|
||||
if ((flags & SIGNAL_FLAG_DONT_RESTART_SYSCALL) != 0)
|
||||
atomic_or(&thread->flags, THREAD_FLAGS_DONT_RESTART_SYSCALL);
|
||||
|
||||
atomic_and(&thread->sig_pending, ~STOP_SIGNALS);
|
||||
// remove any pending stop signals
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user