lib/mysql_getlock.rb in mysql_getlock-0.1.2 vs lib/mysql_getlock.rb in mysql_getlock-0.2.0

- old
+ new

@@ -64,11 +64,21 @@ true end end def locked? - results = mysql2.query(%Q[select is_free_lock('#{key}')], as: :array) - results.to_a.first.first == 0 + results = mysql2.query(%Q[select is_used_lock('#{key}')], as: :array) + !!results.to_a.first.first + end + + # return true if locked by myself + def self_locked? + results = mysql2.query(%Q[select is_used_lock('#{key}')], as: :array) + lock_id = results.to_a.first.first + return nil if lock_id.nil? + results = mysql2.query(%Q[select connection_id()], as: :array) + self_id = results.to_a.first.first + self_id == lock_id end def synchronize(&block) lock begin