def take

cswap-bend-cli@0.1.0.0 · dirlock.bend:87

import cswap-bend-cli@0.1.0.0/dirlock.bend as Dirlock
import Base
import cswap-bend-cli@0.1.0.0/fs.bend as Fs
import cswap-bend-cli@0.1.0.0/act.bend as Act
import cswap-bend-cli@0.1.0.0/fs/write.bend as FsW

87# Take the lock at `dir` (its parent is created), waiting up to `timeout_ms`.
88def take(+dir: String, +timeout_ms: U32, +staleness: U32) -> Act.of(Unit):
89  do ActM<Unit>:
90    FsW.mkdir_p(Fs.dirname(dir))
91    first : Bool <- take_once(dir)
92    wait(tries(timeout_ms), dir, staleness, first)

Uses (12)

Used by (1)