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/6287 github. org/Juniper/ contrail- controller/ commit/ 734fe0a4f2a53e5 27a0bebe94b0d41 e5b677acad
Committed: http://
Submitter: Zuul
Branch: R2.1
commit 734fe0a4f2a53e5 27a0bebe94b0d41 e5b677acad
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