Your IP : 3.17.175.191
�
^
bc @ s� d Z d g Z d d l Z g Z d � Z d � Z e e d � rR e e j � n e e _ e d k r� d � Z d � Z
d d
� Z e e � e e
d � e e d d
� e e d � n d S( s�
atexit.py - allow programmer to define multiple exit functions to be executed
upon normal program termination.
One public function, register, is defined.
t registeri����Nc C s� d } x� t r� t j � \ } } } y | | | � Wq t k
rT t j � } q d d l } t j d IJ| j � t j � } q Xq W| d k r� | d | d | d � n d S( s� run any registered exit functions
_exithandlers is traversed in reverse order so functions are executed
last in, first out.
i����Ns Error in atexit._run_exitfuncs:i i i ( t Nonet
_exithandlerst popt
SystemExitt syst exc_infot tracebackt stderrt print_exc( R t funct targst kargsR ( ( s+ /opt/alt/python27/lib64/python2.7/atexit.pyt _run_exitfuncs
s
c O s t j | | | f � | S( s register a function to be executed upon normal program termination
func - function to be called at exit
targs - optional arguments to pass to func
kargs - optional keyword arguments to pass to func
func is returned to facilitate usage as a decorator.
( R t append( R
R R ( ( s+ /opt/alt/python27/lib64/python2.7/atexit.pyR % s t exitfunct __main__c C s d GHd S( Ns
running x1( ( ( ( s+ /opt/alt/python27/lib64/python2.7/atexit.pyt x17 s c C s d | f GHd S( Ns running x2(%r)( ( t n( ( s+ /opt/alt/python27/lib64/python2.7/atexit.pyt x29 s c C s d | | f GHd S( Ns running x3(%r, kwd=%r)( ( R t kwd( ( s+ /opt/alt/python27/lib64/python2.7/atexit.pyt x3; s i i t bars no kwd args(
t __doc__t __all__R R R
R t hasattrR t __name__R R R R ( ( ( s+ /opt/alt/python27/lib64/python2.7/atexit.pyt <module> s