diff options
| author | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-04-11 11:25:28 +0200 | 
|---|---|---|
| committer | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-04-11 11:25:28 +0200 | 
| commit | 6f414b99c94f5e1562785f9f2b95940a50a70a88 (patch) | |
| tree | 81f2a3f55a7961ae55c9e43f94d4ca28f77e6524 /src/main/java/com/orbekk | |
| parent | 5120f84996f8ff8d54c5c119034b9251d07bc07b (diff) | |
Make Rpc more thread-safe.
:-(
Diffstat (limited to 'src/main/java/com/orbekk')
| -rw-r--r-- | src/main/java/com/orbekk/protobuf/Rpc.java | 12 | 
1 files changed, 7 insertions, 5 deletions
diff --git a/src/main/java/com/orbekk/protobuf/Rpc.java b/src/main/java/com/orbekk/protobuf/Rpc.java index 0f6b6cb..34cdb31 100644 --- a/src/main/java/com/orbekk/protobuf/Rpc.java +++ b/src/main/java/com/orbekk/protobuf/Rpc.java @@ -16,6 +16,7 @@  package com.orbekk.protobuf;  import java.util.ArrayList; +import java.util.Collections;  import java.util.List;  import java.util.concurrent.CountDownLatch; @@ -23,11 +24,11 @@ import com.google.protobuf.RpcCallback;  import com.google.protobuf.RpcController;  public class Rpc implements RpcController { -    private String errorText = "";      private CountDownLatch done = new CountDownLatch(1); -    private boolean hasFailed; -    private boolean canceled; -    private List<RpcCallback<Object>> cancelNotificationListeners = null; +    private volatile String errorText = ""; +    private volatile boolean hasFailed; +    private volatile boolean canceled; +    private volatile List<RpcCallback<Object>> cancelNotificationListeners = null;      public Rpc() {      } @@ -95,7 +96,8 @@ public class Rpc implements RpcController {      public void notifyOnCancel(RpcCallback<Object> listener) {          if (cancelNotificationListeners == null) {              cancelNotificationListeners = -                    new ArrayList<RpcCallback<Object>>(); +                    Collections.synchronizedList( +                            new ArrayList<RpcCallback<Object>>());          }          cancelNotificationListeners.add(listener);      }  | 
