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
simplify
[simgrid.git]
/
src
/
kernel
/
activity
/
SemaphoreImpl.cpp
diff --git
a/src/kernel/activity/SemaphoreImpl.cpp
b/src/kernel/activity/SemaphoreImpl.cpp
index
cedb307
..
66e9900
100644
(file)
--- a/
src/kernel/activity/SemaphoreImpl.cpp
+++ b/
src/kernel/activity/SemaphoreImpl.cpp
@@
-5,7
+5,6
@@
#include "src/kernel/activity/SemaphoreImpl.hpp"
#include "src/kernel/activity/SynchroRaw.hpp"
#include "src/kernel/activity/SemaphoreImpl.hpp"
#include "src/kernel/activity/SynchroRaw.hpp"
-#include "src/simix/smx_synchro_private.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_semaphore, simix_synchro, "Semaphore kernel-space implementation");
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_semaphore, simix_synchro, "Semaphore kernel-space implementation");
@@
-13,13
+12,14
@@
namespace simgrid {
namespace kernel {
namespace activity {
namespace kernel {
namespace activity {
-void SemaphoreImpl::acquire(
smx_actor_t
issuer, double timeout)
+void SemaphoreImpl::acquire(
actor::ActorImpl*
issuer, double timeout)
{
RawImplPtr synchro = nullptr;
XBT_DEBUG("Wait semaphore %p (timeout:%f)", this, timeout);
if (value_ <= 0) {
{
RawImplPtr synchro = nullptr;
XBT_DEBUG("Wait semaphore %p (timeout:%f)", this, timeout);
if (value_ <= 0) {
- synchro = RawImplPtr(new RawImpl())->start(issuer->get_host(), timeout);
+ synchro = RawImplPtr(new RawImpl());
+ (*synchro).set_host(issuer->get_host()).set_timeout(timeout).start();
synchro->simcalls_.push_front(&issuer->simcall);
issuer->waiting_synchro = synchro;
sleeping_.push_back(*issuer);
synchro->simcalls_.push_front(&issuer->simcall);
issuer->waiting_synchro = synchro;
sleeping_.push_back(*issuer);