Revision: 7048
http://jython.svn.sourceforge.net/jython/?rev=7048&view=rev
Author: zyasoft
Date: 2010-04-26 18:16:08 +0000 (Mon, 26 Apr 2010)
Log Message:
-----------
Fixed synchronization bugs on IdImpl#java_obj_id (issue #1602), PyObject#getJavaProxy
Modified Paths:
--------------
trunk/jython/src/org/python/core/IdImpl.java
Modified: trunk/jython/src/org/python/core/IdImpl.java
===================================================================
--- trunk/jython/src/org/python/core/IdImpl.java 2010-04-26 14:27:38 UTC (rev 7047)
+++ trunk/jython/src/org/python/core/IdImpl.java 2010-04-26 18:16:08 UTC (rev 7048)
@@ -14,6 +14,7 @@
private Map<WeakIdKey, Object> objHashcodeToPyId = Generic.map();
+ @SuppressWarnings("element-type-mismatch")
private void cleanup() {
Object k;
while ((k = idKeys.poll()) != null) {
@@ -29,10 +30,12 @@
hashcode = System.identityHashCode(obj);
}
+ @Override
public int hashCode() {
return hashcode;
}
+ @Override
public boolean equals(Object other) {
Object obj = get();
if (obj != null) {
@@ -82,7 +85,7 @@
return String.format("0x%x", id(o));
}
- public long java_obj_id(Object o) {
+ public synchronized long java_obj_id(Object o) {
Long cand = (Long)idMap.get(o);
if (cand == null) {
long new_id = ++sequentialId;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|