about summary refs log tree commit diff
path: root/hurd/thread-cancel.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-08-22 22:47:57 +0000
committerRoland McGrath <roland@gnu.org>1995-08-22 22:47:57 +0000
commit3cf595e562f955e399d80ea9d053e41d50469e6b (patch)
tree77ed930262ae9606543c580c4a3d69141c1bd561 /hurd/thread-cancel.c
parent207eb76afba6503af9c4ab5711bfd76f9697c1ad (diff)
downloadglibc-3cf595e562f955e399d80ea9d053e41d50469e6b.tar.gz
glibc-3cf595e562f955e399d80ea9d053e41d50469e6b.tar.xz
glibc-3cf595e562f955e399d80ea9d053e41d50469e6b.zip
Tue Aug 22 16:49:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
	* inet/netdb.h: Moved to resolv.
	* inet/Makefile (headers): Remove netdb.h.
	* resolv/Makefile (headers): Add netdb.h.
	* resolv/gethnamaddr.c, resolv/inet_addr.c, resolv/netdb.h,
	resolv/res_send.c: Updated from BIND-4.9.3-BETA26.

	* hurd/thread-cancel.c: If SS->cancel_hook is not null, call it before
	resuming the thread.
	* hurd/hurd/signal.h (struct hurd_sigstate): New member `cancel_hook'.

	* hurd/Makefile: Removed dep on hurd/signal.h for RPC stub objects.

Mon Aug 21 16:37:09 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* sysdeps/i386/dl-machine.h (elf_machine_rel): Grok R_386_NONE
	relocs, and do nothing.  Why the linker generates them we may
	never know. 

	* sysdeps/mach/hurd/i386/intr-msg.h: New file.
Diffstat (limited to 'hurd/thread-cancel.c')
-rw-r--r--hurd/thread-cancel.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/hurd/thread-cancel.c b/hurd/thread-cancel.c
index db527c3935..7fb8cd23b4 100644
--- a/hurd/thread-cancel.c
+++ b/hurd/thread-cancel.c
@@ -62,6 +62,12 @@ hurd_thread_cancel (thread_t thread)
 				  (natural_t *) &state.basic,
 				  MACHINE_THREAD_STATE_COUNT);
 
+      if (ss->cancel_hook)
+	/* The code being cancelled has a special wakeup function.
+	   Calling this should make the thread wake up and check the
+	   cancellation flag.  */
+	(*ss->cancel_hook) ();
+
       __thread_resume (thread);
     }