MCPcopy Create free account
hub / github.com/tox-dev/filelock / acquire_lock

Function acquire_lock

tests/test_read_write.py:22–41  ·  view source on GitHub ↗
(
    lock_file: str,
    mode: Literal["read", "write"],
    acquired_event: EventType,
    release_event: EventType | None = None,
    timeout: float = -1,
    blocking: bool = True,
    ready_event: EventType | None = None,
)

Source from the content-addressed store, hash-verified

20
21
22def acquire_lock(
23 lock_file: str,
24 mode: Literal["read", "write"],
25 acquired_event: EventType,
26 release_event: EventType | None = None,
27 timeout: float = -1,
28 blocking: bool = True,
29 ready_event: EventType | None = None,
30) -> None:
31 if ready_event:
32 ready_event.wait(timeout=10)
33
34 lock = ReadWriteLock(lock_file, timeout=timeout, blocking=blocking)
35 ctx = lock.read_lock() if mode == "read" else lock.write_lock()
36 with ctx:
37 acquired_event.set()
38 if release_event:
39 release_event.wait(timeout=10)
40 else:
41 time.sleep(0.5) # hold lock briefly to simulate work
42
43
44@contextmanager

Callers

nothing calls this directly

Calls 3

read_lockMethod · 0.95
write_lockMethod · 0.95
ReadWriteLockClass · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…