
    e                     P    d dl mZmZ d dlZ edd      Z e       Z G d d      Zy)    )LockcurrentThreadNz/tmp/logfilewtc                   ,    e Zd Zd ZddZd Zd Zd Zy)DebuggingLockc                 0    t               | _        || _        y )N)r   lockname)selfr
   s     3/usr/share/offlineimap3/offlineimap/ui/debuglock.py__init__zDebuggingLock.__init__   s    F		    c                     | j                  d       | j                  j                  |       | j                  d| j                  dt               j                         d       y )NzAcquire lockz===== 	: Thread z acquired lock
)print_tbr	   acquirelogmsgr
   r   getName)r   blockings     r   r   zDebuggingLock.acquire   sE    n%		(#YY 7 7 9; 	<r   c                 Z    | j                  d       | j                  j                          y )NzRelease lock)r   r	   release)r   s    r   r   zDebuggingLock.release$   s    n%		r   c                     t         j                          t        j                  |dz          t        j	                          t         j                          y )N
)loglockr   logfilewriteflushr   r   msgs     r   r   zDebuggingLock.logmsg(   s/    cDj!r   c           	          | j                  d| j                  dt               j                         d|ddj	                  t        j                  t        j                                     z          y )Nz.... r   z attempting to r   )r   r
   r   r   join	tracebackformat_listextract_stackr   s     r   r   zDebuggingLock.print_tb.   sQ    YY 7 7 93@IIi33I4K4K4MNOP 	Qr   N)   )__name__
__module____qualname__r   r   r   r   r    r   r   r   r      s    <Qr   r   )	threadingr   r   r"   openr   r   r   r)   r   r   <module>r,      s,   $ * 
~t
$
&Q Qr   