module SQLite3::ForkSafety
def discard # :nodoc:
def discard # :nodoc: warned = @suppress @databases.each do |db| next unless db.weakref_alive? begin unless db.closed? || db.readonly? unless warned # If you are here, you may want to read # https://github.com/sparklemotion/sqlite3-ruby/pull/558 warn("Writable sqlite database connection(s) were inherited from a forked process. " \ "This is unsafe and the connections are being closed to prevent possible data " \ "corruption. Please close writable sqlite database connections before forking.", uplevel: 0) warned = true end db.close end rescue WeakRef::RefError # GC may run while this method is executing, and that's OK end end @databases.clear end