Method: SQLite3::ForkSafety.discard
- Defined in:
- lib/sqlite3/fork_safety.rb
.discard ⇒ Object
:nodoc:
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/sqlite3/fork_safety.rb', line 33 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 |