fix omission that kept sa_restorer from being used
This commit is contained in:
parent
0bcbb53dc4
commit
e1d8d25a50
2 changed files with 2 additions and 1 deletions
|
|
@ -48,6 +48,7 @@ struct __siginfo
|
||||||
#define SA_RESTART 0x10000000
|
#define SA_RESTART 0x10000000
|
||||||
#define SA_NODEFER 0x40000000
|
#define SA_NODEFER 0x40000000
|
||||||
#define SA_RESETHAND 0x80000000
|
#define SA_RESETHAND 0x80000000
|
||||||
|
#define SA_RESTORER 0x04000000
|
||||||
|
|
||||||
#define SS_ONSTACK 1
|
#define SS_ONSTACK 1
|
||||||
#define SS_DISABLE 2
|
#define SS_DISABLE 2
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ int __libc_sigaction(int sig, const struct sigaction *sa, struct sigaction *old)
|
||||||
long pksa=0, pkold=0;
|
long pksa=0, pkold=0;
|
||||||
if (sa) {
|
if (sa) {
|
||||||
ksa.handler = sa->sa_handler;
|
ksa.handler = sa->sa_handler;
|
||||||
ksa.flags = sa->sa_flags;
|
ksa.flags = sa->sa_flags | SA_RESTORER;
|
||||||
ksa.restorer = restorer;
|
ksa.restorer = restorer;
|
||||||
ksa.mask = sa->sa_mask;
|
ksa.mask = sa->sa_mask;
|
||||||
pksa = (long)&ksa;
|
pksa = (long)&ksa;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue