check_signal: system call restart is done only once

Fujitsu: POSTK_TEMP_FIX_66
Refs: #1009
Change-Id: Ic0f04ac6b7f6c6bb01b55fb389bf9befd56b1dd9
This commit is contained in:
Tomoki Shirasawa
2018-09-05 13:59:10 +09:00
committed by Masamichi Takagi
parent c25fb2aa39
commit e4da71010c
12 changed files with 391 additions and 35 deletions

View File

@ -847,9 +847,6 @@ void setup_x86_ap(void (*next_func)(void))
}
void arch_show_interrupt_context(const void *reg);
void set_signal(int sig, void *regs, struct siginfo *info);
void check_signal(unsigned long, void *, int);
void check_sig_pending();
extern void tlb_flush_handler(int vector);
void __show_stack(uintptr_t *sp) {
@ -877,7 +874,7 @@ void interrupt_exit(struct x86_user_context *regs)
cpu_enable_interrupt();
check_sig_pending();
check_need_resched();
check_signal(0, regs, 0);
check_signal(0, regs, -1);
}
else {
check_sig_pending();