aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeir Storli <geirstorli@yahoo.no>2017-11-01 08:59:34 +0100
committerGitHub <noreply@github.com>2017-11-01 08:59:34 +0100
commit4df7c5ccc390a4082f0321855039a6763ef31708 (patch)
treec0aaf1fea731adc401193eff7ac6526d19375e72
parentdfd1b259cce3d106e8eaf8e4bebd3f6e2020ae2a (diff)
parent1179d3c49520a3763ae0acc97cf662b027c0ace4 (diff)
Merge pull request #3949 from vespa-engine/toregge/use-void-promise
Use std::promise<void> instead of std::promise<bool> when value is igored.
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp14
-rw-r--r--searchcore/src/vespa/searchcore/proton/initializer/task_runner.cpp8
-rw-r--r--searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_change_listener.cpp24
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/document_subdb_initializer.cpp8
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/proton_configurer.cpp8
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp8
-rw-r--r--searchlib/src/vespa/searchlib/common/threaded_compactable_lid_space.cpp16
7 files changed, 43 insertions, 43 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp b/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp
index 9feaa738bf1..c59e3718b1e 100644
--- a/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp
+++ b/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp
@@ -46,14 +46,14 @@ public:
class AttributeManagerInitializerTask : public vespalib::Executor::Task
{
- std::promise<bool> _promise;
+ std::promise<void> _promise;
search::SerialNum _configSerialNum;
DocumentMetaStore::SP _documentMetaStore;
AttributeManager::SP _attrMgr;
InitializedAttributesResult &_attributesResult;
public:
- AttributeManagerInitializerTask(std::promise<bool> &&promise,
+ AttributeManagerInitializerTask(std::promise<void> &&promise,
search::SerialNum configSerialNum,
DocumentMetaStore::SP documentMetaStore,
AttributeManager::SP attrMgr,
@@ -63,7 +63,7 @@ public:
};
-AttributeManagerInitializerTask::AttributeManagerInitializerTask(std::promise<bool> &&promise,
+AttributeManagerInitializerTask::AttributeManagerInitializerTask(std::promise<void> &&promise,
search::SerialNum configSerialNum,
DocumentMetaStore::SP documentMetaStore,
AttributeManager::SP attrMgr,
@@ -86,7 +86,7 @@ AttributeManagerInitializerTask::run()
_attrMgr->addExtraAttribute(_documentMetaStore);
_attrMgr->addInitializedAttributes(_attributesResult.get());
_attrMgr->pruneRemovedFields(_configSerialNum);
- _promise.set_value(true);
+ _promise.set_value();
}
class AttributeInitializerTasksBuilder : public IAttributeInitializerRegistry
@@ -168,8 +168,8 @@ AttributeManagerInitializer::AttributeManagerInitializer(SerialNum configSerialN
void
AttributeManagerInitializer::run()
{
- std::promise<bool> promise;
- std::future<bool> future = promise.get_future();
+ std::promise<void> promise;
+ auto future = promise.get_future();
/*
* Attribute manager and some its members (e.g. _attributeFieldWriter) assumes that work is performed
* by document db master thread and lacks locking to handle calls from multiple threads.
@@ -179,7 +179,7 @@ AttributeManagerInitializer::run()
_documentMetaStore,
_attrMgr,
_attributesResult));
- (void) future.get();
+ future.wait();
*_attrMgrResult = _attrMgr;
}
diff --git a/searchcore/src/vespa/searchcore/proton/initializer/task_runner.cpp b/searchcore/src/vespa/searchcore/proton/initializer/task_runner.cpp
index 7deb0afa7af..770f00dc264 100644
--- a/searchcore/src/vespa/searchcore/proton/initializer/task_runner.cpp
+++ b/searchcore/src/vespa/searchcore/proton/initializer/task_runner.cpp
@@ -90,11 +90,11 @@ void
TaskRunner::runTask(InitializerTask::SP task)
{
vespalib::ThreadStackExecutor executor(1, 128 * 1024);
- std::promise<bool> promise;
- std::future<bool> future = promise.get_future();
+ std::promise<void> promise;
+ auto future = promise.get_future();
runTask(task, executor,
- makeLambdaTask([&]() { promise.set_value(true); }));
- (void) future.get();
+ makeLambdaTask([&]() { promise.set_value(); }));
+ future.wait();
}
void
diff --git a/searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_change_listener.cpp b/searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_change_listener.cpp
index cb5c5de0f5a..5941ef13365 100644
--- a/searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_change_listener.cpp
+++ b/searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_change_listener.cpp
@@ -28,31 +28,31 @@ GidToLidChangeListener::~GidToLidChangeListener()
void
GidToLidChangeListener::notifyPutDone(document::GlobalId gid, uint32_t lid)
{
- std::promise<bool> promise;
- std::future<bool> future = promise.get_future();
+ std::promise<void> promise;
+ auto future = promise.get_future();
_attributeFieldWriter.executeLambda(_executorId,
- [this, &promise, gid, lid]() { _attr->notifyReferencedPut(gid, lid); promise.set_value(true); });
- (void) future.get();
+ [this, &promise, gid, lid]() { _attr->notifyReferencedPut(gid, lid); promise.set_value(); });
+ future.wait();
}
void
GidToLidChangeListener::notifyRemove(document::GlobalId gid)
{
- std::promise<bool> promise;
- std::future<bool> future = promise.get_future();
+ std::promise<void> promise;
+ auto future = promise.get_future();
_attributeFieldWriter.executeLambda(_executorId,
- [this, &promise, gid]() { _attr->notifyReferencedRemove(gid); promise.set_value(true); });
- (void) future.get();
+ [this, &promise, gid]() { _attr->notifyReferencedRemove(gid); promise.set_value(); });
+ future.wait();
}
void
GidToLidChangeListener::notifyRegistered()
{
- std::promise<bool> promise;
- std::future<bool> future = promise.get_future();
+ std::promise<void> promise;
+ auto future = promise.get_future();
_attributeFieldWriter.executeLambda(_executorId,
- [this, &promise]() { _attr->populateReferencedLids(); promise.set_value(true); });
- (void) future.get();
+ [this, &promise]() { _attr->populateReferencedLids(); promise.set_value(); });
+ future.wait();
}
const vespalib::string &
diff --git a/searchcore/src/vespa/searchcore/proton/server/document_subdb_initializer.cpp b/searchcore/src/vespa/searchcore/proton/server/document_subdb_initializer.cpp
index a9609bf0cc5..510be013c52 100644
--- a/searchcore/src/vespa/searchcore/proton/server/document_subdb_initializer.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/document_subdb_initializer.cpp
@@ -29,10 +29,10 @@ addDocumentMetaStoreInitTask(InitTask::SP documentMetaStoreInitTask)
void
DocumentSubDbInitializer::run()
{
- std::promise<bool> promise;
- std::future<bool> future = promise.get_future();
- _master.execute(makeLambdaTask([&]() { _subDB.setup(_result); promise.set_value(true); }));
- (void) future.get();
+ std::promise<void> promise;
+ auto future = promise.get_future();
+ _master.execute(makeLambdaTask([&]() { _subDB.setup(_result); promise.set_value(); }));
+ future.wait();
}
} // namespace proton
diff --git a/searchcore/src/vespa/searchcore/proton/server/proton_configurer.cpp b/searchcore/src/vespa/searchcore/proton/server/proton_configurer.cpp
index 436cf3865e5..00360a9c405 100644
--- a/searchcore/src/vespa/searchcore/proton/server/proton_configurer.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/proton_configurer.cpp
@@ -179,10 +179,10 @@ ProtonConfigurer::applyInitialConfig(InitializeThreads initializeThreads)
{
// called by proton app main thread
assert(!_executor.isCurrentThread());
- std::promise<bool> promise;
- std::future<bool> future = promise.get_future();
- _executor.execute(makeLambdaTask([this, initializeThreads, &promise]() { applyConfig(getPendingConfigSnapshot(), initializeThreads, true); promise.set_value(true); }));
- (void) future.get();
+ std::promise<void> promise;
+ auto future = promise.get_future();
+ _executor.execute(makeLambdaTask([this, initializeThreads, &promise]() { applyConfig(getPendingConfigSnapshot(), initializeThreads, true); promise.set_value(); }));
+ future.wait();
}
} // namespace proton
diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp
index bba03621f8a..e78f8136d26 100644
--- a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp
@@ -200,10 +200,10 @@ StoreOnlyDocSubDB::onReplayDone()
_dms->shrinkLidSpace();
uint32_t docIdLimit = _dms->getCommittedDocIdLimit();
auto &docStore = _rSummaryMgr->getBackingStore();
- std::promise<bool> promise;
- std::future<bool> future = promise.get_future();
- _writeService.summary().execute(makeLambdaTask([&]() { docStoreReplayDone(docStore, docIdLimit); promise.set_value(true); }));
- (void) future.get();
+ std::promise<void> promise;
+ auto future = promise.get_future();
+ _writeService.summary().execute(makeLambdaTask([&]() { docStoreReplayDone(docStore, docIdLimit); promise.set_value(); }));
+ future.wait();
}
diff --git a/searchlib/src/vespa/searchlib/common/threaded_compactable_lid_space.cpp b/searchlib/src/vespa/searchlib/common/threaded_compactable_lid_space.cpp
index 531d7be38cc..079a1f493de 100644
--- a/searchlib/src/vespa/searchlib/common/threaded_compactable_lid_space.cpp
+++ b/searchlib/src/vespa/searchlib/common/threaded_compactable_lid_space.cpp
@@ -23,10 +23,10 @@ ThreadedCompactableLidSpace::~ThreadedCompactableLidSpace()
void
ThreadedCompactableLidSpace::compactLidSpace(uint32_t wantedDocLidLimit)
{
- std::promise<bool> promise;
- std::future<bool> future = promise.get_future();
- _executor.executeLambda(_executorId, [this, wantedDocLidLimit, &promise]() { _target->compactLidSpace(wantedDocLidLimit); promise.set_value(true); });
- (void) future.get();
+ std::promise<void> promise;
+ auto future = promise.get_future();
+ _executor.executeLambda(_executorId, [this, wantedDocLidLimit, &promise]() { _target->compactLidSpace(wantedDocLidLimit); promise.set_value(); });
+ future.wait();
}
bool
@@ -44,10 +44,10 @@ ThreadedCompactableLidSpace::getEstimatedShrinkLidSpaceGain() const
void
ThreadedCompactableLidSpace::shrinkLidSpace()
{
- std::promise<bool> promise;
- std::future<bool> future = promise.get_future();
- _executor.executeLambda(_executorId, [this, &promise]() { _target->shrinkLidSpace(); promise.set_value(true); });
- (void) future.get();
+ std::promise<void> promise;
+ auto future = promise.get_future();
+ _executor.executeLambda(_executorId, [this, &promise]() { _target->shrinkLidSpace(); promise.set_value(); });
+ future.wait();
}
}