diff options
| author | Arne Schwabe <arne@rfc2549.org> | 2013-02-25 13:35:44 +0100 | 
|---|---|---|
| committer | Arne Schwabe <arne@rfc2549.org> | 2013-02-25 13:35:44 +0100 | 
| commit | c078407422b7e10f5306b1763ba7986960e92d3a (patch) | |
| tree | a1b47ac529b415d1868bf2195819cb6ca8b96ee4 | |
| parent | 3e9846e7f4172926b1de2e16c20d8956f4f5cf98 (diff) | |
Make listener methods synchronized
| -rw-r--r-- | src/de/blinkt/openvpn/OpenVPN.java | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/src/de/blinkt/openvpn/OpenVPN.java b/src/de/blinkt/openvpn/OpenVPN.java index 556f221d..fb759104 100644 --- a/src/de/blinkt/openvpn/OpenVPN.java +++ b/src/de/blinkt/openvpn/OpenVPN.java @@ -247,12 +247,12 @@ public class OpenVPN {  		logListener.remove(ll);  	} -	public static void addByteCountListener(ByteCountListener bcl) { +	public synchronized static void addByteCountListener(ByteCountListener bcl) {  		bcl.updateByteCount(mlastByteCount[0],	mlastByteCount[1], mlastByteCount[2], mlastByteCount[3]);  		byteCountListener.add(bcl);  	}	 -	public static void removeByteCountListener(ByteCountListener bcl) { +	public synchronized static void removeByteCountListener(ByteCountListener bcl) {  		byteCountListener.remove(bcl);  	} @@ -375,7 +375,7 @@ public class OpenVPN {  		newlogItem(new LogItem(LogItem.INFO, ressourceId, args));  	} -	private static void newlogItem(LogItem logItem) { +	private synchronized static void newlogItem(LogItem logItem) {  		logbuffer.addLast(logItem);  		if(logbuffer.size()>MAXLOGENTRIES)  			logbuffer.removeFirst(); @@ -397,11 +397,13 @@ public class OpenVPN {  		newlogItem(new LogItem(LogItem.ERROR, ressourceId,args));  	} -	public static void updateByteCount(long in, long out) { +	public static synchronized void updateByteCount(long in, long out) {  		long lastIn = mlastByteCount[0];  		long lastOut = mlastByteCount[1]; -		long diffin = in - lastIn; -		long diffout = out - lastOut; +		long diffin = mlastByteCount[2] = in - lastIn; +		long diffout = mlastByteCount[3] = out - lastOut; +		 +		  		mlastByteCount = new long[] {in,out,diffin,diffout};  		for(ByteCountListener bcl:byteCountListener){ | 
