diff options
-rw-r--r-- | hurd/hurdsig.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/hurd/hurdsig.c b/hurd/hurdsig.c index 1e42246ee6..a2741bb7c8 100644 --- a/hurd/hurdsig.c +++ b/hurd/hurdsig.c @@ -85,8 +85,9 @@ _hurd_thread_sigstate (thread_t thread) ss = malloc (sizeof (*ss)); if (ss == NULL) __libc_fatal ("hurd: Can't allocate sigstate\n"); - ss->thread = thread; + __spin_lock_init (&ss->critical_section_lock); __spin_lock_init (&ss->lock); + ss->thread = thread; /* Initialize default state. */ __sigemptyset (&ss->blocked); @@ -97,6 +98,9 @@ _hurd_thread_sigstate (thread_t thread) ss->suspended = MACH_PORT_NULL; ss->intr_port = MACH_PORT_NULL; ss->context = NULL; + ss->active_resources = NULL; + ss->cancel = 0; + ss->cancel_hook = NULL; if (thread == MACH_PORT_NULL) { |