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/6286 github. org/Juniper/ contrail- controller/ commit/ 3b7fcc22f259f12 726c16496bb3365 8cec83fc7b
Committed: http://
Submitter: Zuul
Branch: master
commit 3b7fcc22f259f12 726c16496bb3365 8cec83fc7b
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