+ init_thread_data scribble;
+ void *args[2];
+ args[0] = info;
+ args[1] = ctx;
+
+ attach_os_thread(&scribble);
+
+ odxprint(misc, "callback from signal handler thread for: %d\n", signo);
+ funcall3(StaticSymbolFunction(SIGNAL_HANDLER_CALLBACK),
+ run_handler, make_fixnum(signo), alloc_sap(args));
+
+ detach_os_thread(&scribble);
+ return;
+}
+#endif
+
+void
+callback_wrapper_trampoline(
+#if !(defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64))
+ /* On the x86oid backends, the assembly wrapper happens to not pass
+ * in ENTER_ALIEN_CALLBACK explicitly for safepoints. However, the
+ * platforms with precise GC are tricky enough already, and I want
+ * to minimize the read-time conditionals. For those platforms, I'm
+ * only replacing funcall3 with callback_wrapper_trampoline while
+ * keeping the arguments unchanged. --DFL */
+ lispobj __attribute__((__unused__)) fun,
+#endif
+ lispobj arg0, lispobj arg1, lispobj arg2)
+{
+#if defined(LISP_FEATURE_WIN32)
+ pthread_np_notice_thread();
+#endif