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
rename the plugins from the command line, and document it
[simgrid.git]
/
src
/
xbt
/
xbt_os_synchro.cpp
diff --git
a/src/xbt/xbt_os_synchro.cpp
b/src/xbt/xbt_os_synchro.cpp
index
b78dfdd
..
eaab5a6
100644
(file)
--- a/
src/xbt/xbt_os_synchro.cpp
+++ b/
src/xbt/xbt_os_synchro.cpp
@@
-52,28
+52,17
@@
void xbt_cond_wait(xbt_cond_t cond, xbt_mutex_t mutex)
int xbt_cond_timedwait(xbt_cond_t cond, xbt_mutex_t mutex, double delay)
{
int xbt_cond_timedwait(xbt_cond_t cond, xbt_mutex_t mutex, double delay)
{
- try {
- simcall_cond_wait_timeout((smx_cond_t)cond, (smx_mutex_t)mutex, delay);
- } catch (xbt_ex& e) {
- if (e.category == timeout_error) {
- return 1;
- } else {
- throw; // rethrow the exceptions that I don't know
- }
- }
- return 0;
+ return simcall_cond_wait_timeout((smx_cond_t)cond, (smx_mutex_t)mutex, delay);
}
void xbt_cond_signal(xbt_cond_t cond)
{
}
void xbt_cond_signal(xbt_cond_t cond)
{
- // FIXME: this should use s4u
- simgrid::simix::kernelImmediate([cond]() { cond->signal(); });
+ cond->cond_.notify_one();
}
void xbt_cond_broadcast(xbt_cond_t cond)
{
}
void xbt_cond_broadcast(xbt_cond_t cond)
{
- // FIXME: this should use s4u
- simgrid::simix::kernelImmediate([cond]() { cond->broadcast(); });
+ cond->cond_.notify_all();
}
void xbt_cond_destroy(xbt_cond_t cond)
}
void xbt_cond_destroy(xbt_cond_t cond)