signal: check_signal must be called after check_need_resched.

This commit is contained in:
Tomoki Shirasawa
2018-01-28 13:38:51 +09:00
parent 54169bc3ea
commit 559fc9746c
3 changed files with 12 additions and 12 deletions

View File

@ -9429,11 +9429,6 @@ long syscall(int num, ihk_mc_user_context_t *ctx)
save_syscall_return_value(num, l);
if (!list_empty(&thread->sigpending) ||
!list_empty(&thread->sigcommon->sigpending)) {
check_signal(l, NULL, num);
}
#ifdef PROFILE_ENABLE
{
unsigned long ts = rdtsc();
@ -9472,6 +9467,11 @@ long syscall(int num, ihk_mc_user_context_t *ctx)
}
#endif /* POSTK_DEBUG_TEMP_FIX_60 && POSTK_DEBUG_TEMP_FIX_56 */
if (!list_empty(&thread->sigpending) ||
!list_empty(&thread->sigcommon->sigpending)) {
check_signal(l, NULL, num);
}
#ifdef DISABLE_SCHED_YIELD
if (num != __NR_sched_yield)
#endif // DISABLE_SCHED_YIELD