libposix: fix disposition for signals that are ignored by default

This commit is contained in:
Giacomo Tesio 2017-05-30 01:15:25 +02:00
parent a64a7b0d0e
commit 28c426055d
1 changed files with 4 additions and 3 deletions

View File

@ -134,7 +134,7 @@ static PosixSignalTrampoline __libposix_signal_trampoline;
typedef enum PosixSignalDisposition typedef enum PosixSignalDisposition
{ {
SignalHandled = 0, /* the application handled the signal */ IgnoreWithNoEffect = 0,
TerminateTheProcess, TerminateTheProcess,
TerminateTheProcessAndCoreDump, TerminateTheProcessAndCoreDump,
StopTheProcess, StopTheProcess,
@ -194,7 +194,8 @@ execute_disposition(int sig, PosixSignalDisposition action)
switch(action){ switch(action){
case ResumeTheProcess: // the sender resumed us already case ResumeTheProcess: // the sender resumed us already
case SignalHandled: case IgnoreWithNoEffect:
*__restart_syscall = 1;
return 1; return 1;
case TerminateTheProcess: case TerminateTheProcess:
terminated_by_signal(sig); terminated_by_signal(sig);
@ -255,7 +256,7 @@ default_signal_disposition(int code)
case PosixSIGCHLD: case PosixSIGCHLD:
case PosixSIGCLD: case PosixSIGCLD:
case PosixSIGURG: case PosixSIGURG:
return SignalHandled; return IgnoreWithNoEffect;
case PosixSIGCONT: case PosixSIGCONT:
return ResumeTheProcess; return ResumeTheProcess;
} }