#NEWLINE# def push_greenlet( self , obj ) : #NEWLINE# #INDENT# self . _greenlet_context_lock . acquire ( ) #NEWLINE# try : #NEWLINE# #INDENT# self . _cache . pop ( greenlet_get_ident ( ) , None ) #NEWLINE# item = ( self . _stackop ( ) , self ) #NEWLINE# stack = getattr ( self . _greenlet_context , 'stack' , None ) #NEWLINE# if ( stack is None ) : #NEWLINE# #INDENT# self . _greenlet_context . stack = [ item ] #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# stack . append ( item ) #NEWLINE# #UNINDENT# #UNINDENT# finally : #NEWLINE# #INDENT# self . _greenlet_context_lock . release ( )