Author: ssegu
Date: Fri Jan 5 11:36:06 2007
New Revision: 493156
URL: http://svn.apache.org/viewvc?view=rev&rev=493156
Log:
Fix to retain original FM because of the possibility of reentrant calls
Modified:
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
Modified:
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
URL:
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java?view=diff&rev=493156&r1=493155&r2=493156
==============================================================================
---
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
(original)
+++
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/StateManagerImpl.java
Fri Jan 5 11:36:06 2007
@@ -2844,9 +2844,11 @@
* field manager.
*/
void provideField(PersistenceCapable pc, FieldManager store, int field) {
+ FieldManager beforeFM = _fm;
_fm = store;
pc.pcProvideField(field);
- _fm = null;
+ // Retaining original FM because of the possibility of reentrant calls
+ _fm = beforeFM;
}
/**
@@ -2854,9 +2856,11 @@
* field manager.
*/
void replaceField(PersistenceCapable pc, FieldManager load, int field) {
+ FieldManager beforeFM = _fm;
_fm = load;
pc.pcReplaceField(field);
- _fm = null;
+ // Retaining original FM because of the possibility of reentrant calls
+ _fm = beforeFM;
}
/**