o ¶žâcÁã@s6ddlZddlZddlZGdd„deƒZddd„ZdS)éNc@seZdZdZdS)Ú LockErrorz"Raised when unable to lock a file.N)Ú__name__Ú __module__Ú __qualname__Ú__doc__©rrú4/usr/lib/python3/dist-packages/landscape/lib/lock.pyrsrcs¤t |tj¡‰t ˆtjd¡}|tjO}t ˆtj|¡t ¡} z t ˆtj tj B¡Wnt yB|t ¡|kr@t dƒ‚Ynwnt  d¡q!‡fdd„}|S)NrTzCouldn't obtain lockgš™™™™™¹?cst ˆtj¡t ˆ¡dS)N)ÚfcntlÚflockÚLOCK_UNÚosÚcloser©ÚfdrrÚ unlock_pathszlock_path..unlock_path)r ÚopenÚO_CREATr ÚF_GETFDÚ FD_CLOEXECÚF_SETFDÚtimer ÚLOCK_EXÚLOCK_NBÚIOErrorrÚsleep)ÚpathÚtimeoutÚflagsÚstartedrrrrÚ lock_path s$  ÿÿ ø r)r)r rr Ú ExceptionrrrrrrÚs