diff options
Diffstat (limited to 'ext/sleepy_penguin/sleepy_penguin.h')
-rw-r--r-- | ext/sleepy_penguin/sleepy_penguin.h | 29 |
1 files changed, 1 insertions, 28 deletions
diff --git a/ext/sleepy_penguin/sleepy_penguin.h b/ext/sleepy_penguin/sleepy_penguin.h index bd44e18..7b2074a 100644 --- a/ext/sleepy_penguin/sleepy_penguin.h +++ b/ext/sleepy_penguin/sleepy_penguin.h @@ -19,16 +19,6 @@ int rb_sp_io_closed(VALUE io); int rb_sp_fileno(VALUE io); void rb_sp_set_nonblock(int fd); -#if defined(HAVE_RB_THREAD_BLOCKING_REGION) || \ - defined(HAVE_RB_THREAD_IO_BLOCKING_REGION) || \ - defined(HAVE_RB_THREAD_CALL_WITHOUT_GVL) -# define RB_SP_GREEN_THREAD 0 -# define blocking_io_prepare(fd) ((void)(fd)) -#else -# define RB_SP_GREEN_THREAD 1 -# define blocking_io_prepare(fd) rb_sp_set_nonblock((fd)) -#endif - #ifdef HAVE_RB_THREAD_IO_BLOCKING_REGION /* Ruby 1.9.3 and 2.0.0 */ VALUE rb_thread_io_blocking_region(rb_blocking_function_t *, void *, int); @@ -46,24 +36,7 @@ VALUE rb_thread_io_blocking_region(rb_blocking_function_t *, void *, int); # define rb_sp_fd_region(fn,data,fd) \ rb_thread_blocking_region((fn),(data),RUBY_UBF_IO,NULL) #else -/* - * Ruby 1.8 does not have a GVL, we'll just enable signal interrupts - * here in case we make interruptible syscalls. - * - * Note: epoll_wait with timeout=0 was interruptible until Linux 2.6.39 - */ -# include <rubysig.h> -static inline VALUE fake_blocking_region(VALUE (*fn)(void *), void *data) -{ - VALUE rv; - - TRAP_BEG; - rv = fn(data); - TRAP_END; - - return rv; -} -# define rb_sp_fd_region(fn,data,fd) fake_blocking_region((fn),(data)) +# error Ruby <= 1.8 not supported #endif #define NODOC_CONST(klass,name,value) \ |