commit | 0c59da823026c29d6a7c243c74e8f858c20b8f75 | [log] [tgz] |
---|---|---|
author | Krzysztof Opasiak <k.opasiak@samsung.com> | Wed Jan 30 14:10:35 2019 +0100 |
committer | Krzysztof Opasiak <k.opasiak@samsung.com> | Thu Jan 31 21:16:49 2019 +0100 |
tree | 529e487b16876746535d80c1a5392e55005ab8f0 | |
parent | 7df5aea14cfd8b46ba3a8bba7e3e76e7f0272e68 [diff] |
Fix potential race condition init() is currently called outside of synhronized block. This is may lead to race condition as init() creates new bus consumer (this.consumer) which is the copied and nulled in stop() synchronized block. This may lead to race condition if: Thread #1 Thread #2 this.alive = true; this.alive = false consumerCopy = this.consumer; this.consumer = new Consumer(); // false if(consumerCopy != null) { consumerCopy.close(); } else { log.warn(); } As a result, new BusConsumers are being created but they are never close(). Issue-ID: POLICY-1387 Change-Id: I2eadb12ef1c4b07b9e47dc6ebc096acc713299a0 Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
Copyright 2018 AT&T Intellectual Property. All rights reserved. This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
This source repository contains ONAP common code, which is shared by 'policy-drools-pdp' and 'policy-engine'. To build it: