diff --git a/ext/mdbx_ext/database.c b/ext/mdbx_ext/database.c index 93d3ad3..9d6fe7a 100644 --- a/ext/mdbx_ext/database.c +++ b/ext/mdbx_ext/database.c @@ -805,8 +805,13 @@ rmdbx_database_initialize( int argc, VALUE *argv, VALUE self ) if ( RTEST(opt) ) db->settings.env_flags = db->settings.env_flags | MDBX_NOSUBDIR; opt = rb_hash_delete( opts, ID2SYM( rb_intern("no_readahead") ) ); if ( RTEST(opt) ) db->settings.env_flags = db->settings.env_flags | MDBX_NORDAHEAD; +#if defined(HAVE_CONST_MDBX_NOSTICKYTHREADS) opt = rb_hash_delete( opts, ID2SYM( rb_intern("no_stickythreads") ) ); if ( RTEST(opt) ) db->settings.env_flags = db->settings.env_flags | MDBX_NOSTICKYTHREADS; +#else + opt = rb_hash_delete( opts, ID2SYM( rb_intern("no_threadlocal") ) ); + if ( RTEST(opt) ) db->settings.env_flags = db->settings.env_flags | MDBX_NOTLS; +#endif opt = rb_hash_delete( opts, ID2SYM( rb_intern("readonly") ) ); if ( RTEST(opt) ) db->settings.env_flags = db->settings.env_flags | MDBX_RDONLY; opt = rb_hash_delete( opts, ID2SYM( rb_intern("writemap") ) ); diff --git a/ext/mdbx_ext/extconf.rb b/ext/mdbx_ext/extconf.rb index f266102..f07d24b 100755 --- a/ext/mdbx_ext/extconf.rb +++ b/ext/mdbx_ext/extconf.rb @@ -9,6 +9,8 @@ $CFLAGS << ' -Wno-unknown-warning-option' have_library( 'mdbx' ) or abort "No mdbx library!" have_header( 'mdbx.h' ) or abort "No mdbx.h header!" +have_const( 'MDBX_NOSTICKYTHREADS', 'mdbx.h' ) + create_header() create_makefile( 'mdbx_ext' )