+ g_error ("unable to get abort signal");
+#endif
+}
+
+static int
+suspend_signal_get (void)
+{
+#if defined(HOST_ANDROID)
+ return SIGPWR;
+#elif defined (SIGRTMIN)
+ static int suspend_signum = -1;
+ if (suspend_signum == -1)
+ suspend_signum = mono_threads_suspend_search_alternative_signal ();
+ return suspend_signum;
+#else
+#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+ return SIGXFSZ;
+#else
+ return SIGPWR;
+#endif
+#endif
+}
+
+static int
+restart_signal_get (void)
+{
+#if defined(HOST_ANDROID)
+ return SIGXCPU;
+#elif defined (SIGRTMIN)
+ static int restart_signum = -1;
+ if (restart_signum == -1)
+ restart_signum = mono_threads_suspend_search_alternative_signal ();
+ return restart_signum;
+#else
+ return SIGXCPU;