IQgJddlZddlZddlZdZdZejdZdS)Nctj|}|r3tj|stj|t |d}t j|t j| dd| | ttj ||S)Nza+r)ospathdirnameexistsmakedirsopenfcntlflockLOCK_EXseektruncatewritestrgetpidflush) lockfile_path lock_file_dirfds m/builddir/build/BUILD/imunify360-venv-2.5.0/opt/imunify360/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