1
0
Fork 0

use steady_clock

This commit is contained in:
jsteemann 2019-09-12 13:32:33 +02:00
parent 2dde7e2307
commit fb706c162f
2 changed files with 6 additions and 6 deletions

View File

@ -257,7 +257,7 @@ arangodb::Result Databases::info(TRI_vocbase_t* vocbase, VPackBuilder& result) {
// Grant permissions on newly created database to current user
// to be able to run the upgrade script
arangodb::Result Databases::grantCurrentUser(CreateDatabaseInfo const& info, double timeout) {
arangodb::Result Databases::grantCurrentUser(CreateDatabaseInfo const& info, int64_t timeout) {
auth::UserManager* um = AuthenticationFeature::instance()->userManager();
Result res;
@ -268,7 +268,7 @@ arangodb::Result Databases::grantCurrentUser(CreateDatabaseInfo const& info, dou
// called us, or when authentication is off), granting rights
// will fail. We hence ignore it here, but issue a warning below
if (!exec.isSuperuser()) {
double const endTime = TRI_microtime() + timeout;
auto const endTime = std::chrono::steady_clock::now() + std::chrono::seconds(timeout);
while (true) {
res = um->updateUser(exec.user(), [&](auth::User& entry) {
entry.grantDatabase(info.getName(), auth::Level::RW);
@ -277,7 +277,7 @@ arangodb::Result Databases::grantCurrentUser(CreateDatabaseInfo const& info, dou
});
if (res.ok() ||
!res.is(TRI_ERROR_ARANGO_CONFLICT) ||
TRI_microtime() >= endTime) {
std::chrono::steady_clock::now() > endTime) {
break;
}
@ -328,7 +328,7 @@ Result Databases::createCoordinator(CreateDatabaseInfo const& info) {
}
});
res = grantCurrentUser(info, 5.0);
res = grantCurrentUser(info, 5);
if (!res.ok()) {
return res;
}
@ -382,7 +382,7 @@ Result Databases::createOther(CreateDatabaseInfo const& info) {
TRI_DEFER(vocbase->release());
Result res = grantCurrentUser(info, 10.0);
Result res = grantCurrentUser(info, 10);
if (!res.ok()) {
return res;
}

View File

@ -74,7 +74,7 @@ struct Databases {
private:
/// @brief will retry for at most <timeout> seconds
static arangodb::Result grantCurrentUser(CreateDatabaseInfo const& info, double timeout);
static arangodb::Result grantCurrentUser(CreateDatabaseInfo const& info, int64_t timeout);
static arangodb::Result createCoordinator(CreateDatabaseInfo const& info);
static arangodb::Result createOther(CreateDatabaseInfo const& info);