Commit 358e8f60 authored by Aurel's avatar Aurel Committed by Arnaud Fontaine

_txn is not store at the same place in zope4

parent 9f42bf59
...@@ -54,6 +54,11 @@ from ZPublisher.mapply import mapply ...@@ -54,6 +54,11 @@ from ZPublisher.mapply import mapply
from ZPublisher.WSGIPublisher import call_object from ZPublisher.WSGIPublisher import call_object
from ZPublisher.WSGIPublisher import missing_name, WSGIResponse from ZPublisher.WSGIPublisher import missing_name, WSGIResponse
try:
from ZServer.ZPublisher import Publish
isZope4 = True
except ImportError:
isZope4 = False
if sys.version_info >= (3, ): if sys.version_info >= (3, ):
_FILE_TYPES = (IOBase, ) _FILE_TYPES = (IOBase, )
...@@ -411,10 +416,17 @@ def load_app(module_info): ...@@ -411,10 +416,17 @@ def load_app(module_info):
try: try:
yield (app, realm, debug_mode, validated_hook) yield (app, realm, debug_mode, validated_hook)
finally: finally:
if isZope4:
if transaction.manager.manager._txn is not None:
# Only abort a transaction, if one exists. Otherwise the
# abort creates a new transaction just to abort it.
transaction.abort()
else:
if getattr(transaction.manager, '_txn', None) is not None: if getattr(transaction.manager, '_txn', None) is not None:
# Only abort a transaction, if one exists. Otherwise the # Only abort a transaction, if one exists. Otherwise the
# abort creates a new transaction just to abort it. # abort creates a new transaction just to abort it.
transaction.abort() transaction.abort()
app._p_jar.close() app._p_jar.close()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment