summaryrefslogtreecommitdiff
path: root/hurd/hurdexec.c
diff options
context:
space:
mode:
Diffstat (limited to 'hurd/hurdexec.c')
-rw-r--r--hurd/hurdexec.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/hurd/hurdexec.c b/hurd/hurdexec.c
index 9d26a61abf..ef17971366 100644
--- a/hurd/hurdexec.c
+++ b/hurd/hurdexec.c
@@ -104,15 +104,15 @@ _hurd_exec (task_t task, file_t file,
ss = _hurd_self_sigstate ();
- assert (! __spin_lock_locked (&ss->critical_section_lock));
__spin_lock (&ss->critical_section_lock);
- __spin_lock (&ss->lock);
+ _hurd_sigstate_lock (ss);
+ struct sigaction *actions = _hurd_sigstate_actions (ss);
ints[INIT_SIGMASK] = ss->blocked;
- ints[INIT_SIGPENDING] = ss->pending;
+ ints[INIT_SIGPENDING] = _hurd_sigstate_pending (ss);
ints[INIT_SIGIGN] = 0;
for (i = 1; i < NSIG; ++i)
- if (ss->actions[i].sa_handler == SIG_IGN)
+ if (actions[i].sa_handler == SIG_IGN)
ints[INIT_SIGIGN] |= __sigmask (i);
/* We hold the sigstate lock until the exec has failed so that no signal
@@ -123,7 +123,7 @@ _hurd_exec (task_t task, file_t file,
critical section flag avoids anything we call trying to acquire the
sigstate lock. */
- __spin_unlock (&ss->lock);
+ _hurd_sigstate_unlock (ss);
/* Pack up the descriptor table to give the new program. */
__mutex_lock (&_hurd_dtable_lock);