src
FWCore
Concurrency
interface
include_first_syncWait.h
Go to the documentation of this file.
1
#ifndef FWCore_Concurrency_syncWait_h
2
#define FWCore_Concurrency_syncWait_h
3
//
4
// syncWait.h
5
//
6
// Created by Chris Jones on 2/24/21.
7
//
8
#include "
FWCore/Concurrency/interface/WaitingTaskHolder.h
"
9
#include "
FWCore/Concurrency/interface/FinalWaitingTask.h
"
10
#include "oneapi/tbb/task_group.h"
11
#include <exception>
12
13
namespace
edm
{
14
template
<
typename
F>
15
[[nodiscard]] std::exception_ptr
syncWait
(
F
&& iFunc) {
16
std::exception_ptr exceptPtr{};
17
oneapi::tbb::task_group
group
;
18
FinalWaitingTask
last
{
group
};
19
group
.run([&]() { iFunc(
WaitingTaskHolder
(
group
, &
last
)); });
//group.run
20
21
return
last
.waitNoThrow();
22
}
23
}
// namespace edm
24
#endif
/* FWCore_Concurrency_syncWait_h */
edm::syncWait
std::exception_ptr syncWait(F &&iFunc)
Definition:
include_first_syncWait.h:15
watchdog.group
group
Definition:
watchdog.py:82
edm::FinalWaitingTask
Definition:
FinalWaitingTask.h:31
FinalWaitingTask.h
dqmdumpme.last
last
Definition:
dqmdumpme.py:56
edm::WaitingTaskHolder
Definition:
WaitingTaskHolder.h:32
edm
HLT enums.
Definition:
AlignableModifier.h:19
F
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
Definition:
blowfish.cc:163
WaitingTaskHolder.h
Generated for CMSSW Reference Manual by
1.8.14