You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

24 lines
652 B

--- a/coroutine/copy/Context.h
+++ b/coroutine/copy/Context.h
@@ -13,6 +13,7 @@
#include <string.h>
#include <stdlib.h>
#include <alloca.h>
+#include <sys/types.h>
#define COROUTINE __attribute__((noreturn)) void
--- a/configure.ac
+++ b/configure.ac
@@ -2344,7 +2344,10 @@ AS_CASE([$rb_cv_coroutine], [yes|''], [
rb_cv_coroutine=copy
],
[*], [
- rb_cv_coroutine=ucontext
+ AC_CHECK_FUNCS([getcontext swapcontext makecontext],
+ [rb_cv_coroutine=ucontext],
+ [rb_cv_coroutine=copy; break]
+ )
]
)
AC_MSG_RESULT(${rb_cv_coroutine})