ѠgJddlZddlZddlZdZdZejdZdS)Nctj|}|r3tj|stj|t |d}t j|t j| dd| | ttj ||S)Nza+r)ospathdirnameexistsmakedirsopenfcntlflockLOCK_EXseektruncatewritestrgetpidflush) lockfile_path lock_file_dirfds /builddir/build/BUILDROOT/alt-python27-cllib-3.4.22-1.el8.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/lock.py setup_lockrsGOOM22M#RW^^M::# M""" mT " "B KEM"""GGAqMMMKKMMMHHS  HHJJJ Ictj|tj|dS)N)r r filenoLOCK_UNclose)rs r release_lockr#s/ K U]+++HHJJJJJrc#xKt|} dVt|dS#t|wxYw)zE Usage: with acquire_lock(): ... do something ... N)rr)rrs r acquire_lockr(sK M " "B R Rs(9) contextlibr rrrcontextmanagerrrrr#sl $       r