Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Moonpool.LockSourceMutex-protected resource.
A value protected by a mutex
with_ l f runs f x where x is the value protected with the lock l, in a critical section. If f x fails, with_lock l f fails too but the lock is released.
update l f replaces the content x of l with f x, while protected by the mutex.
update_map l f computes x', y = f (get l), then puts x' in l and returns y, while protected by the mutex.
Atomically get the value in the lock. The value that is returned isn't protected!