Method: SQLite3::Driver::DL::Driver#busy_handler

Defined in:
lib/sqlite3/driver/dl/driver.rb

#busy_handler(db, data = nil, &block) ⇒ Object



113
114
115
116
117
118
119
120
121
122
123
# File 'lib/sqlite3/driver/dl/driver.rb', line 113

def busy_handler( db, data=nil, &block )
  @busy_handler = block

  unless @busy_handler_callback
    @busy_handler_callback = ::DL.callback( "IPI" ) do |cookie, timeout|
      @busy_handler.call( cookie, timeout ) || 0
    end
  end

  API.sqlite3_busy_handler( db, block&&@busy_handler_callback, data )
end