Commit 9d8081f5 authored by Julien Muchembled's avatar Julien Muchembled

Merge "client: really fix ZODB monkey-patch when DB lock is not acquired"

parents 3e6f9bd8 b709cc89
...@@ -57,10 +57,10 @@ if 1: ...@@ -57,10 +57,10 @@ if 1:
### ###
try: try:
if Connection._nexedi_fix != 4: if Connection._nexedi_fix != 5:
raise Exception("A different ZODB fix is already applied") raise Exception("A different ZODB fix is already applied")
except AttributeError: except AttributeError:
Connection._nexedi_fix = 4 Connection._nexedi_fix = 5
# Whenever an connection is opened (and there's usually an existing one # Whenever an connection is opened (and there's usually an existing one
# in DB pool that can be reused) whereas the transaction is already # in DB pool that can be reused) whereas the transaction is already
...@@ -69,14 +69,12 @@ if 1: ...@@ -69,14 +69,12 @@ if 1:
# For example, there's no open transaction when a ZPublisher/Publish # For example, there's no open transaction when a ZPublisher/Publish
# transaction begins. # transaction begins.
import thread
def open(self, *args, **kw): def open(self, *args, **kw):
def _flush_invalidations(): def _flush_invalidations():
acquire = self._db._a acquire = self._db._a
try: try:
self._db._r() self._db._r() # this is a RLock
except thread.error: except (AssertionError, RuntimeError): # old Python uses assert
acquire = lambda: None acquire = lambda: None
try: try:
del self._flush_invalidations del self._flush_invalidations
......
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