Fix deadlock in RibOutUpdates::TailDequeue/PeerDequeue
RibOutUpdates::TailDequeue/PeerDequeue can deadlock if 2 RouteUpdates
have the same timestamp. Calling clock_gettime with CLOCK_MONOTONIC
does not guarantee monotonically increasing timestamps.
Use atomic uint64_t to implement relative timestamp for RouteUpdate.
Reviewed: https:/ /review. opencontrail. org/6290 github. org/Juniper/ contrail- controller/ commit/ 6bb5d55d43d1e37 dec2372b21f09ee 1dacbb8c42
Committed: http://
Submitter: Zuul
Branch: R1.10
commit 6bb5d55d43d1e37 dec2372b21f09ee 1dacbb8c42
Author: Nischal Sheth <email address hidden>
Date: Fri Jan 16 13:08:02 2015 -0800
Fix deadlock in RibOutUpdates: :TailDequeue/ PeerDequeue
RibOutUpdates: :TailDequeue/ PeerDequeue can deadlock if 2 RouteUpdates
have the same timestamp. Calling clock_gettime with CLOCK_MONOTONIC
does not guarantee monotonically increasing timestamps.
Use atomic uint64_t to implement relative timestamp for RouteUpdate.
Change-Id: I328fc96405c51d ace5b5e8a79b800 26631a0bb4b
Partial-Bug: 1411855