S
Sylvain Joyeux
I was trying to fix the busy_handler of the sqlite3. (version 1.1.0 makes
the interpreter crash)
Rewriting busy_handler in lib/sqlite3/native/driver.rb from
def busy_handler( db, data=nil, &block )
if block
cb = API::CallbackData.new
cb.proc = block
cb.data = data
end
API.sqlite3_busy_handler( db,
block ? API::Sqlite3_ruby_busy_handler : nil, cb )
end
to
def busy_handler( db, data=nil, &block )
if block
cb = API::CallbackData.new
cb.proc = block
cb.data = data
API.sqlite3_busy_handler( db, API::Sqlite3_ruby_busy_handler, cb)
else
API.sqlite3_busy_handler( db, nil, nil)
end
end
fixed the problem (at least on my system)
For me, those two functions are strictly equivalent. So ... where's the
difference ?
the interpreter crash)
Rewriting busy_handler in lib/sqlite3/native/driver.rb from
def busy_handler( db, data=nil, &block )
if block
cb = API::CallbackData.new
cb.proc = block
cb.data = data
end
API.sqlite3_busy_handler( db,
block ? API::Sqlite3_ruby_busy_handler : nil, cb )
end
to
def busy_handler( db, data=nil, &block )
if block
cb = API::CallbackData.new
cb.proc = block
cb.data = data
API.sqlite3_busy_handler( db, API::Sqlite3_ruby_busy_handler, cb)
else
API.sqlite3_busy_handler( db, nil, nil)
end
end
fixed the problem (at least on my system)
For me, those two functions are strictly equivalent. So ... where's the
difference ?