From 0ce93ee7305742a52a0fb420899083cc652decd3 Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Fri, 18 Aug 2006 08:26:37 +0000 Subject: [PATCH] the signal block mask is inherited by the child process on fork() git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18532 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/team.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/system/kernel/team.c b/src/system/kernel/team.c index b0feb4cd49..3df96721cc 100644 --- a/src/system/kernel/team.c +++ b/src/system/kernel/team.c @@ -53,10 +53,11 @@ struct team_arg { }; struct fork_arg { - area_id user_stack_area; - addr_t user_stack_base; - size_t user_stack_size; - addr_t user_local_storage; + area_id user_stack_area; + addr_t user_stack_base; + size_t user_stack_size; + addr_t user_local_storage; + sigset_t sig_block_mask; struct arch_fork_arg arch_info; }; @@ -1369,6 +1370,7 @@ fork_team_thread_start(void *_args) thread->user_stack_base = forkArgs->user_stack_base; thread->user_stack_size = forkArgs->user_stack_size; thread->user_local_storage = forkArgs->user_local_storage; + thread->sig_block_mask = forkArgs->sig_block_mask; arch_thread_init_tls(thread); @@ -1462,6 +1464,7 @@ fork_team(void) forkArgs->user_stack_base = parentThread->user_stack_base; forkArgs->user_stack_size = parentThread->user_stack_size; forkArgs->user_local_storage = parentThread->user_local_storage; + forkArgs->sig_block_mask = parentThread->sig_block_mask; arch_store_fork_frame(&forkArgs->arch_info); // ToDo: copy image list