Fix a potential deadlock in BGPSession 39/14339/1
authorRobert Varga <rovarga@cisco.com>
Wed, 21 Jan 2015 15:17:49 +0000 (16:17 +0100)
committerRobert Varga <rovarga@cisco.com>
Wed, 21 Jan 2015 15:21:15 +0000 (16:21 +0100)
commit5ef47855cc98a970660e157479657e9405d43e13
treeeddd51695a48d9073046938b7d81fc1b15c9ec43
parent896673218bdc05b7dd7a639bc135817e5088456f
Fix a potential deadlock in BGPSession

In a two-session scenario, it is possible to arrive at a ABBA deadlock,
where we acquire locks:

Thread 1      Thread 2
--------      --------
Session A     Session B

RIB
              RIB <-- blocks waiting for Thread 1

Session B <-- blocks waiting for Thread 2

The lock is being held only for scheduling a task on Thread 2, which a
thread-safe operation, so we can simply remove the need to take the lock
in Thread 1.

Change-Id: I4e55d3228a48790b2f19eef12ce1b54fd57955a0
Signed-off-by: Robert Varga <rovarga@cisco.com>
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPSessionImpl.java