method
sync_lock
v1_8_6_287 -
Show latest stable
- Class:
Sync_m
sync_lock(m = EX)public
No documentation available.
# File lib/sync.rb, line 140
def sync_lock(m = EX)
return unlock if m == UN
until (Thread.critical = true; sync_try_lock_sub(m))
if sync_sh_locker[Thread.current]
sync_upgrade_waiting.push [Thread.current, sync_sh_locker[Thread.current]]
sync_sh_locker.delete(Thread.current)
else
sync_waiting.push Thread.current
end
Thread.stop
end
Thread.critical = false
self
end