Hey Filip,
I thing you must also sync the first get statement :-)
public static SenderState getSenderState(Member member) {
+ SenderState state = (SenderState)memberStates.get(member);
+ if ( state == null ) {
+ synchronized ( memberStates ) {
+ state = (SenderState)memberStates.get(member);
+
The internal hashmap state can be corrupted when other thread add or
remove elements inside the first get call!
Peter
Am 15.03.2006 um 20:32 schrieb [EMAIL PROTECTED]:
public static SenderState getSenderState(Member member) {
+ SenderState state = (SenderState)memberStates.get(member);
+ if ( state == null ) {
+ synchronized ( memberStates ) {
+ state = (SenderState)memberStates.get(member);
+