§
    ƒnócT  ã                  ó^   — d dl mZ 	 d dlZd dlZddlmZ ddlmZ	 dgZ
 G d„ de	¦  «        ZdS )é    )ÚannotationsNé   )ÚMesonException)ÚBuildDirLockr   c                  ó   — e Zd Zdd„Zd	d„ZdS )
r   ÚreturnÚNonec                ó–  — t          | j        dd¬¦  «        | _        	 t          j        | j        t          j        t          j        z  ¦  «         d S # t          t          f$ r) | j         	                    ¦   «          t          d¦  «        ‚t          $ r5}| j         	                    ¦   «          t          d|j        › �¦  «        ‚d }~ww xY w)NÚwzutf-8)ÚencodingzHSome other Meson process is already using this build directory. Exiting.z$Failed to lock the build directory: )ÚopenÚlockfilenameÚlockfileÚfcntlÚflockÚLOCK_EXÚLOCK_NBÚBlockingIOErrorÚPermissionErrorÚcloser   ÚOSErrorÚstrerror)ÚselfÚes     ú8/usr/lib/python3/dist-packages/mesonbuild/utils/posix.pyÚ	__enter__zBuildDirLock.__enter__   sÑ   € Ý˜TÔ.°¸gÐFÑFÔFˆŒð	VÝŒK˜œ¥u¤}µu´}Ñ'DÑEÔEÐEÐEÐEøÝ¥Ð1ð 	mð 	mð 	mØŒM×ÒÑ!Ô!Ð!Ý Ð!kÑlÔlÐlÝð 	Vð 	Vð 	VØŒM×ÒÑ!Ô!Ð!Ý Ð!TÈÌ
Ð!TÐ!TÑUÔUÐUøøøøð	Vøøøs   ž1A ÁACÂ0CÃCÚargsúT.Anyc                ó€   — t          j        | j        t           j        ¦  «         | j                             ¦   «          d S )N)r   r   r   ÚLOCK_UNr   )r   r   s     r   Ú__exit__zBuildDirLock.__exit__)   s2   € ÝŒ�D”M¥5¤=Ñ1Ô1Ð1ØŒ×ÒÑÔÐÐÐó    N)r   r	   )r   r   r   r	   )Ú__name__Ú
__module__Ú__qualname__r   r!   © r"   r   r   r      s@   € € € € € ð	Vð 	Vð 	Vð 	Vðð ð ð ð ð r"   )Ú
__future__r   r   ÚtypingÚTÚ	universalr   Úplatformr   ÚBuildDirLockBaseÚ__all__r&   r"   r   ú<module>r.      s’   ðð  #Ð "Ð "Ð "Ð "Ð "à ?à €€€Ø Ð Ð Ð à %Ð %Ð %Ð %Ð %Ð %Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6àÐ
€ðð ð ð ð Ð#ñ ô ð ð ð r"   