Author: toad
Date: 2008-01-11 19:16:25 +0000 (Fri, 11 Jan 2008)
New Revision: 17016
Modified:
trunk/freenet/src/freenet/node/Node.java
Log:
Synchronize myName accesses
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2008-01-11 17:08:23 UTC (rev
17015)
+++ trunk/freenet/src/freenet/node/Node.java 2008-01-11 19:16:25 UTC (rev
17016)
@@ -134,12 +134,16 @@
node=n;
}
public String get() {
- if(myName.startsWith("Node id|")||
myName.equals("MyFirstFreenetNode")){
+ String name;
+ synchronized(this) {
+ name = myName;
+ }
+ if(name.startsWith("Node id|")||
name.equals("MyFirstFreenetNode")){
clientCore.alerts.register(nodeNameUserAlert);
}else{
clientCore.alerts.unregister(nodeNameUserAlert);
}
- return myName;
+ return name;
}
public void set(String val) throws InvalidConfigValueException {
@@ -148,7 +152,9 @@
throw new InvalidConfigValueException("The
given node name is too long ("+val+')');
else if("".equals(val))
val = "~none~";
- myName = val;
+ synchronized(this) {
+ myName = val;
+ }
// We'll broadcast the new name to our connected
darknet peers via a differential node reference
SimpleFieldSet fs = new SimpleFieldSet(true);
fs.putSingle("myName", myName);