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
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git]
/
src
/
msg
/
msg_synchro.cpp
diff --git
a/src/msg/msg_synchro.cpp
b/src/msg/msg_synchro.cpp
index
bf625ec
..
703fbee
100644
(file)
--- a/
src/msg/msg_synchro.cpp
+++ b/
src/msg/msg_synchro.cpp
@@
-1,4
+1,4
@@
-/* Copyright (c) 2013-201
4
. The SimGrid Team.
+/* Copyright (c) 2013-201
7
. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
@@
-6,7
+6,8
@@
#include "xbt/ex.hpp"
#include "xbt/ex.hpp"
-#include "msg_private.h"
+#include "msg_private.hpp"
+#include "src/simix/smx_private.hpp"
#include "xbt/synchro.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_synchro, msg, "Logging specific to MSG (synchro)");
#include "xbt/synchro.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_synchro, msg, "Logging specific to MSG (synchro)");
@@
-18,7
+19,7
@@
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_synchro, msg, "Logging specific to MSG (sync
/** @brief creates a semaphore object of the given initial capacity */
msg_sem_t MSG_sem_init(int initial_value) {
/** @brief creates a semaphore object of the given initial capacity */
msg_sem_t MSG_sem_init(int initial_value) {
- return sim
call_sem_init(initial_value
);
+ return sim
grid::simix::kernelImmediate([initial_value] { return SIMIX_sem_init(initial_value); }
);
}
/** @brief locks on a semaphore object */
}
/** @brief locks on a semaphore object */
@@
-41,11
+42,11
@@
msg_error_t MSG_sem_acquire_timeout(msg_sem_t sem, double timeout) {
/** @brief releases the semaphore object */
void MSG_sem_release(msg_sem_t sem) {
/** @brief releases the semaphore object */
void MSG_sem_release(msg_sem_t sem) {
- sim
call_sem_release(sem
);
+ sim
grid::simix::kernelImmediate([sem] { SIMIX_sem_release(sem); }
);
}
int MSG_sem_get_capacity(msg_sem_t sem) {
}
int MSG_sem_get_capacity(msg_sem_t sem) {
- return sim
call_sem_get_capacity(sem
);
+ return sim
grid::simix::kernelImmediate([sem] { return SIMIX_sem_get_capacity(sem); }
);
}
void MSG_sem_destroy(msg_sem_t sem) {
}
void MSG_sem_destroy(msg_sem_t sem) {
@@
-58,7
+59,7
@@
void MSG_sem_destroy(msg_sem_t sem) {
* But that's a classical semaphore issue, and SimGrid's semaphore are not different to usual ones here.
*/
int MSG_sem_would_block(msg_sem_t sem) {
* But that's a classical semaphore issue, and SimGrid's semaphore are not different to usual ones here.
*/
int MSG_sem_would_block(msg_sem_t sem) {
- return sim
call_sem_would_block(sem
);
+ return sim
grid::simix::kernelImmediate([sem] { return SIMIX_sem_would_block(sem); }
);
}
/*-**** barrier related functions ****-*/
}
/*-**** barrier related functions ****-*/
@@
-90,7
+91,7
@@
void MSG_barrier_destroy(msg_bar_t bar) {
int MSG_barrier_wait(msg_bar_t bar) {
xbt_mutex_acquire(bar->mutex);
bar->arrived_processes++;
int MSG_barrier_wait(msg_bar_t bar) {
xbt_mutex_acquire(bar->mutex);
bar->arrived_processes++;
- XBT_DEBUG("waiting %p %
d/%d
", bar, bar->arrived_processes, bar->expected_processes);
+ XBT_DEBUG("waiting %p %
u/%u
", bar, bar->arrived_processes, bar->expected_processes);
if (bar->arrived_processes == bar->expected_processes) {
xbt_cond_broadcast(bar->cond);
xbt_mutex_release(bar->mutex);
if (bar->arrived_processes == bar->expected_processes) {
xbt_cond_broadcast(bar->cond);
xbt_mutex_release(bar->mutex);