commit | a26109f6899e4f0c5fa8fb861f85b820b20f8b7b | [log] [tgz] |
---|---|---|
author | Yuta HIGUCHI <y-higuchi@ak.jp.nec.com> | Fri Dec 23 13:39:08 2016 -0800 |
committer | Yuta HIGUCHI <y-higuchi@onlab.us> | Tue Jan 10 23:30:48 2017 +0000 |
tree | 21f42064971e1ebd3a0b53562a81f7db8b6e190b | |
parent | c53681836a8dc71f0c39643bf83a9b269cd5242a [diff] |
fix potential race condition Change-Id: I0bf9df79691e9b08af981348a75886b053404add
diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/IpHandler.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/IpHandler.java index 34368be..19153b4 100644 --- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/IpHandler.java +++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/IpHandler.java
@@ -109,13 +109,9 @@ Ip4Address destIpAddress = Ip4Address.valueOf(ipPacket.getDestinationAddress()); - if (ipPacketQueue.get(destIpAddress) == null) { - ConcurrentLinkedQueue<IPv4> queue = new ConcurrentLinkedQueue<>(); - queue.add(ipPacket); - ipPacketQueue.put(destIpAddress, queue); - } else { - ipPacketQueue.get(destIpAddress).add(ipPacket); - } + ipPacketQueue + .computeIfAbsent(destIpAddress, a -> new ConcurrentLinkedQueue<>()) + .add(ipPacket); } /**