- remove some scripts that we don't use from BASH_SCRIPTS - ignore one of the regression tests and continue if it fails
43 lines
1.2 KiB
Plaintext
43 lines
1.2 KiB
Plaintext
$OpenBSD: patch-mono_metadata_threads_c,v 1.1 2010/04/01 21:53:51 robert Exp $
|
|
--- mono/metadata/threads.c.orig Thu Apr 1 21:28:08 2010
|
|
+++ mono/metadata/threads.c Thu Apr 1 21:36:45 2010
|
|
@@ -15,6 +15,10 @@
|
|
#include <glib.h>
|
|
#include <signal.h>
|
|
#include <string.h>
|
|
+#if defined(__OpenBSD__)
|
|
+#include <pthread.h>
|
|
+#include <pthread_np.h>
|
|
+#endif
|
|
|
|
#include <mono/metadata/object.h>
|
|
#include <mono/metadata/domain-internals.h>
|
|
@@ -855,6 +859,15 @@ mono_thread_get_stack_bounds (guint8 **staddr, size_t
|
|
# elif defined(sun)
|
|
*staddr = NULL;
|
|
pthread_attr_getstacksize (&attr, &stsize);
|
|
+# elif defined(__OpenBSD__)
|
|
+ stack_t ss;
|
|
+ int rslt;
|
|
+
|
|
+ rslt = pthread_stackseg_np(pthread_self(), &ss);
|
|
+ g_assert (rslt == 0);
|
|
+
|
|
+ *staddr = (guint8*)((size_t)ss.ss_sp - ss.ss_size);
|
|
+ *stsize = ss.ss_size;
|
|
# else
|
|
*staddr = NULL;
|
|
*stsize = 0;
|
|
@@ -862,8 +875,10 @@ mono_thread_get_stack_bounds (guint8 **staddr, size_t
|
|
# endif
|
|
# endif
|
|
|
|
-# ifndef sun
|
|
+# if !defined(sun)
|
|
+# if !defined(__OpenBSD__)
|
|
pthread_attr_getstack (&attr, (void**)staddr, stsize);
|
|
+# endif
|
|
if (*staddr)
|
|
g_assert ((current > *staddr) && (current < *staddr + *stsize));
|
|
# endif
|