#include "test_util/mock_time_env.h"
#include "test_util/sync_point.h"
namespace ROCKSDB_NAMESPACE {
void MockSystemClock::InstallTimedWaitFixCallback() {
#ifndef NDEBUG
SyncPoint::GetInstance()->DisableProcessing();
SyncPoint::GetInstance()->ClearAllCallBacks();
#ifdef OS_MACOSX
SyncPoint::GetInstance()->SetCallBack(
"InstrumentedCondVar::TimedWaitInternal", [&](void* arg) {
uint64_t time_us = *reinterpret_cast<uint64_t*>(arg);
if (time_us < this->RealNowMicros()) {
*reinterpret_cast<uint64_t*>(arg) = this->RealNowMicros() + 1000;
}
});
#endif SyncPoint::GetInstance()->EnableProcessing();
#endif }
}