syscall: the signal received during system call processing is not processed.
Refs: #1176 Fujitsu: POSTK_DEBUG_TEMP_FIX_56 Change-Id: I410160ccbcef3ef49a0e37611a608bc87c97e63b
This commit is contained in:
committed by
Masamichi Takagi
parent
e4da71010c
commit
5e760db417
@@ -1001,6 +1001,11 @@ getsigpending(struct thread *thread, int delflag){
|
||||
struct sig_pending *
|
||||
hassigpending(struct thread *thread)
|
||||
{
|
||||
if (list_empty(&thread->sigpending) &&
|
||||
list_empty(&thread->sigcommon->sigpending)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return getsigpending(thread, 0);
|
||||
}
|
||||
|
||||
@@ -1057,6 +1062,11 @@ check_signal(unsigned long rc, void *regs0, int num)
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (list_empty(&thread->sigpending) &&
|
||||
list_empty(&thread->sigcommon->sigpending)) {
|
||||
goto out;
|
||||
}
|
||||
|
||||
for(;;){
|
||||
pending = getsigpending(thread, 1);
|
||||
if(!pending) {
|
||||
|
||||
Reference in New Issue
Block a user