diff options
Diffstat (limited to 'lib/libc_r/uthread/uthread_execve.c')
-rw-r--r-- | lib/libc_r/uthread/uthread_execve.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/libc_r/uthread/uthread_execve.c b/lib/libc_r/uthread/uthread_execve.c index 0dbd467..86c55f3 100644 --- a/lib/libc_r/uthread/uthread_execve.c +++ b/lib/libc_r/uthread/uthread_execve.c @@ -29,6 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * + * $Id$ */ #include <errno.h> #include <fcntl.h> @@ -92,6 +93,9 @@ execve(const char *name, char *const * argv, char *const * envp) act.sa_mask = _thread_sigact[i - 1].sa_mask; act.sa_flags = _thread_sigact[i - 1].sa_flags; + /* Ensure the scheduling signal is masked: */ + sigaddset(&act.sa_mask, _SCHED_SIGNAL); + /* Change the signal action for the process: */ _thread_sys_sigaction(i, &act, &oact); } |