diff --git a/ext/sqlite3/database.c b/ext/sqlite3/database.c index d61bf0ac..9c730e30 100644 --- a/ext/sqlite3/database.c +++ b/ext/sqlite3/database.c @@ -246,7 +246,7 @@ busy_handler(int argc, VALUE *argv, VALUE self) rb_scan_args(argc, argv, "01", &block); if (NIL_P(block) && rb_block_given_p()) { block = rb_block_proc(); } - ctx->busy_handler = block; + RB_OBJ_WRITE(self, &ctx->busy_handler, block); status = sqlite3_busy_handler( ctx->db, diff --git a/lib/sqlite3/database.rb b/lib/sqlite3/database.rb index 39ace568..c4a490ab 100644 --- a/lib/sqlite3/database.rb +++ b/lib/sqlite3/database.rb @@ -127,7 +127,6 @@ def initialize file, options = {}, zvfs = nil @tracefunc = nil @authorizer = nil - @busy_handler = nil @progress_handler = nil @collations = {} @functions = {}