… | |
… | |
271 | |
271 | |
272 | Wait until the given lock is available and then acquires it and returns |
272 | Wait until the given lock is available and then acquires it and returns |
273 | a Coro::guard object. If the guard object gets destroyed (goes out of scope, |
273 | a Coro::guard object. If the guard object gets destroyed (goes out of scope, |
274 | for example when the coroutine gets canceled), the lock is automatically |
274 | for example when the coroutine gets canceled), the lock is automatically |
275 | returned. |
275 | returned. |
|
|
276 | |
|
|
277 | Locks are *not* recursive, locking from the same coro twice results in a |
|
|
278 | deadlocked coro. |
276 | |
279 | |
277 | Lock names should begin with a unique identifier (for example, cf::map::find |
280 | Lock names should begin with a unique identifier (for example, cf::map::find |
278 | uses map_find and cf::map::load uses map_load). |
281 | uses map_find and cf::map::load uses map_load). |
279 | |
282 | |
280 | =item $locked = cf::lock_active $string |
283 | =item $locked = cf::lock_active $string |