class RethinkDB::EM_Guard
Public Class Methods
register(conn)
click to toggle source
# File lib/net.rb, line 21 def self.register(conn) @@mutex.synchronize { if !@@registered @@registered = true EM.add_shutdown_hook { EM_Guard.remove_em_waiters } end @@conns += [conn] } end
remove_em_waiters()
click to toggle source
# File lib/net.rb, line 37 def self.remove_em_waiters old_conns = Set.new @@mutex.synchronize { @@registered = false @@conns, old_conns = old_conns, @@conns } # This function acquires `@mon` on the connections, so it's # safer to do this outside our own synchronization. old_conns.each {|conn| conn.remove_em_waiters } end
unregister(conn)
click to toggle source
# File lib/net.rb, line 32 def self.unregister(conn) @@mutex.synchronize { @@conns -= [conn] } end