From: <zy...@us...> - 2010-04-26 18:16:14
|
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. |