[Zope-Checkins] SVN: Zope/branches/2.12/src/ZPublisher/Publish.py Be a bit more forceful about aborting the transaction

Martin Aspeli optilude at gmx.net
Fri Nov 13 01:42:23 EST 2009


Log message for revision 105590:
  Be a bit more forceful about aborting the transaction

Changed:
  U   Zope/branches/2.12/src/ZPublisher/Publish.py

-=-
Modified: Zope/branches/2.12/src/ZPublisher/Publish.py
===================================================================
--- Zope/branches/2.12/src/ZPublisher/Publish.py	2009-11-13 05:59:41 UTC (rev 105589)
+++ Zope/branches/2.12/src/ZPublisher/Publish.py	2009-11-13 06:42:23 UTC (rev 105590)
@@ -175,12 +175,12 @@
             finally:
                 
                 # Note: 'abort's can fail. Nevertheless, we want end request handling
-                try: 
-                    
-                    notify(PubBeforeAbort(request, exc_info, retry))
-                    
-                    if transactions_manager:
-                        transactions_manager.abort()
+                try:                     
+                    try:
+                        notify(PubBeforeAbort(request, exc_info, retry))
+                    finally:                    
+                        if transactions_manager:
+                            transactions_manager.abort()
                 finally:
                     endInteraction()
                     notify(PubFailure(request, exc_info, retry))
@@ -198,19 +198,19 @@
                 newrequest.close()
 
         else:
+            
             # Note: 'abort's can fail. Nevertheless, we want end request handling
-            try:
-                
-                notify(PubBeforeAbort(request, exc_info, False))
-                
-                if transactions_manager:
-                    transactions_manager.abort()
+            try:                     
+                try:
+                    notify(PubBeforeAbort(request, exc_info, False))
+                finally:
+                    if transactions_manager:
+                        transactions_manager.abort()
             finally:
                 endInteraction()
-                notify(PubFailure(request, exc_info, False))
+                notify(PubFailure(request, exc_info, retry))
             raise
 
-
 def publish_module_standard(module_name,
                    stdin=sys.stdin, stdout=sys.stdout, stderr=sys.stderr,
                    environ=os.environ, debug=0, request=None, response=None):



More information about the Zope-Checkins mailing list