A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
Fix simcall_blocking returning a value.
[simgrid.git]
/
src
/
s4u
/
s4u_ConditionVariable.cpp
diff --git
a/src/s4u/s4u_ConditionVariable.cpp
b/src/s4u/s4u_ConditionVariable.cpp
index
a59726f
..
877bfdd
100644
(file)
--- a/
src/s4u/s4u_ConditionVariable.cpp
+++ b/
src/s4u/s4u_ConditionVariable.cpp
@@
-32,7
+32,7
@@
void ConditionVariable::wait(MutexPtr lock)
{
kernel::actor::ActorImpl* issuer = kernel::actor::ActorImpl::self();
mc::ConditionWaitSimcall observer{issuer, pimpl_, lock->pimpl_};
- kernel::actor::simcall_blocking
<void>
(
+ kernel::actor::simcall_blocking(
[&observer] { observer.get_cond()->wait(observer.get_mutex(), -1.0, observer.get_issuer()); }, &observer);
}
@@
-40,7
+40,7
@@
void ConditionVariable::wait(const std::unique_lock<Mutex>& lock)
{
kernel::actor::ActorImpl* issuer = kernel::actor::ActorImpl::self();
mc::ConditionWaitSimcall observer{issuer, pimpl_, lock.mutex()->pimpl_};
- kernel::actor::simcall_blocking
<void>
(
+ kernel::actor::simcall_blocking(
[&observer] { observer.get_cond()->wait(observer.get_mutex(), -1.0, observer.get_issuer()); }, &observer);
}
@@
-52,10
+52,9
@@
std::cv_status s4u::ConditionVariable::wait_for(const std::unique_lock<Mutex>& l
kernel::actor::ActorImpl* issuer = kernel::actor::ActorImpl::self();
mc::ConditionWaitSimcall observer{issuer, pimpl_, lock.mutex()->pimpl_, timeout};
-
kernel::actor::simcall_blocking<void>
(
+
bool timed_out = kernel::actor::simcall_blocking
(
[&observer] { observer.get_cond()->wait(observer.get_mutex(), observer.get_timeout(), observer.get_issuer()); },
&observer);
- bool timed_out = observer.get_result();
if (timed_out) {
// If we reached the timeout, we have to take the lock again:
lock.mutex()->lock();