mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 14:59:39 -04:00
Handle negative timeout for waitTipChanged()
This commit is contained in:
parent
c20a5ce106
commit
f9cf8bd0ab
2 changed files with 4 additions and 1 deletions
|
@ -93,7 +93,8 @@ public:
|
|||
*
|
||||
* @param[in] current_tip block hash of the current chain tip. Function waits
|
||||
* for the chain tip to differ from this.
|
||||
* @param[in] timeout how long to wait for a new tip
|
||||
* @param[in] timeout how long to wait for a new tip (default is forever)
|
||||
*
|
||||
* @returns Hash and height of the current chain tip after this call.
|
||||
*/
|
||||
virtual BlockRef waitTipChanged(uint256 current_tip, MillisecondsDouble timeout = MillisecondsDouble::max()) = 0;
|
||||
|
|
|
@ -1072,6 +1072,8 @@ public:
|
|||
|
||||
BlockRef waitTipChanged(uint256 current_tip, MillisecondsDouble timeout) override
|
||||
{
|
||||
Assume(timeout >= 0ms); // No internal callers should use a negative timeout
|
||||
if (timeout < 0ms) timeout = 0ms;
|
||||
if (timeout > std::chrono::years{100}) timeout = std::chrono::years{100}; // Upper bound to avoid UB in std::chrono
|
||||
{
|
||||
WAIT_LOCK(notifications().m_tip_block_mutex, lock);
|
||||
|
|
Loading…
Add table
Reference in a new issue