Commit 8fc954ab authored by Andrei Vagin's avatar Andrei Vagin Committed by Pavel Emelyanov

alpine: sigaltstack returns EINVAL if SS_ONSTACK is set

Actually this flag is ignored by kernel.
Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
parent e57fd31f
...@@ -64,7 +64,7 @@ static void *thread_func(void *arg) ...@@ -64,7 +64,7 @@ static void *thread_func(void *arg)
sas_state[SAS_THRD_OLD] = (stack_t) { sas_state[SAS_THRD_OLD] = (stack_t) {
.ss_size = sizeof(stack_thread) - 8, .ss_size = sizeof(stack_thread) - 8,
.ss_sp = stack_thread, .ss_sp = stack_thread,
.ss_flags = SS_ONSTACK, .ss_flags = 0,
}; };
struct sigaction sa = { struct sigaction sa = {
...@@ -106,7 +106,7 @@ int main(int argc, char *argv[]) ...@@ -106,7 +106,7 @@ int main(int argc, char *argv[])
sas_state[SAS_MAIN_OLD] = (stack_t) { sas_state[SAS_MAIN_OLD] = (stack_t) {
.ss_size = sizeof(stack_main) - 8, .ss_size = sizeof(stack_main) - 8,
.ss_sp = stack_main, .ss_sp = stack_main,
.ss_flags = SS_ONSTACK, .ss_flags = 0,
}; };
struct sigaction sa = { struct sigaction sa = {
...@@ -151,6 +151,9 @@ int main(int argc, char *argv[]) ...@@ -151,6 +151,9 @@ int main(int argc, char *argv[])
} }
task_waiter_fini(&t); task_waiter_fini(&t);
sas_state[SAS_THRD_OLD].ss_flags = SS_ONSTACK;
sas_state[SAS_MAIN_OLD].ss_flags = SS_ONSTACK;
show_ss("main old", &sas_state[SAS_MAIN_OLD]); show_ss("main old", &sas_state[SAS_MAIN_OLD]);
show_ss("main new", &sas_state[SAS_MAIN_NEW]); show_ss("main new", &sas_state[SAS_MAIN_NEW]);
show_ss("thrd old", &sas_state[SAS_THRD_OLD]); show_ss("thrd old", &sas_state[SAS_THRD_OLD]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment