diff options
author | Nobuyoshi Nakada <[email protected]> | 2019-09-29 18:52:31 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2019-09-29 18:53:11 +0900 |
commit | 94db8cda9b4eeee4736d089570a343fdf5ef86c0 (patch) | |
tree | 4b8eadcb76bad8113d13507f6c3c678e85881701 /ext/zlib/zlib.c | |
parent | f10c9cb1f2dfca024937bc48137168124d8511aa (diff) |
[ruby/zlib] Fix for older ruby 2.6 or earlier
https://github.com/ruby/zlib/commit/00ead8cb2c
Diffstat (limited to 'ext/zlib/zlib.c')
-rw-r--r-- | ext/zlib/zlib.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c index 22b4d0fb8d..3953a5ba04 100644 --- a/ext/zlib/zlib.c +++ b/ext/zlib/zlib.c @@ -27,6 +27,10 @@ #define RUBY_ZLIB_VERSION "1.0.0" +#ifndef RB_PASS_CALLED_KEYWORDS +# define rb_class_new_instance_kw(argc, argv, klass, kw_splat) rb_class_new_instance(argc, argv, klass) +#endif + #ifndef GZIP_SUPPORT #define GZIP_SUPPORT 1 #endif @@ -1061,9 +1065,14 @@ zstream_run(struct zstream *z, Bytef *src, long len, int flush) } loop: +#ifndef RB_NOGVL_UBF_ASYNC_SAFE + err = (int)(VALUE)rb_thread_call_without_gvl(zstream_run_func, (void *)&args, + zstream_unblock_func, (void *)&args); +#else err = (int)(VALUE)rb_nogvl(zstream_run_func, (void *)&args, zstream_unblock_func, (void *)&args, RB_NOGVL_UBF_ASYNC_SAFE); +#endif if (flush != Z_FINISH && err == Z_BUF_ERROR && z->stream.avail_out > 0) { |