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
[simix] Encapsulate main function, argc and argv in a closure
[simgrid.git]
/
src
/
bindings
/
java
/
JavaContext.cpp
diff --git
a/src/bindings/java/JavaContext.cpp
b/src/bindings/java/JavaContext.cpp
index
12ebf6a
..
51ae35b
100644
(file)
--- a/
src/bindings/java/JavaContext.cpp
+++ b/
src/bindings/java/JavaContext.cpp
@@
-41,10
+41,10
@@
JavaContext* JavaContextFactory::self()
}
JavaContext* JavaContextFactory::create_context(
}
JavaContext* JavaContextFactory::create_context(
-
xbt_main_func_t code, int argc, char ** argv
,
+
std::function<void()> code
,
void_pfn_smxprocess_t cleanup, smx_process_t process)
{
void_pfn_smxprocess_t cleanup, smx_process_t process)
{
- return this->new_context<JavaContext>(
code, argc, argv
, cleanup, process);
+ return this->new_context<JavaContext>(
std::move(code)
, cleanup, process);
}
void JavaContextFactory::run_all()
}
void JavaContextFactory::run_all()
@@
-58,18
+58,17
@@
void JavaContextFactory::run_all()
}
}
-JavaContext::JavaContext(xbt_main_func_t code,
- int argc, char **argv,
+JavaContext::JavaContext(std::function<void()> code,
void_pfn_smxprocess_t cleanup_func,
smx_process_t process)
void_pfn_smxprocess_t cleanup_func,
smx_process_t process)
- : Context(
code, argc, argv
, cleanup_func, process)
+ : Context(
std::move(code)
, cleanup_func, process)
{
static int thread_amount=0;
thread_amount++;
/* If the user provided a function for the process then use it
otherwise is the context for maestro */
{
static int thread_amount=0;
thread_amount++;
/* If the user provided a function for the process then use it
otherwise is the context for maestro */
- if (
code
) {
+ if (
has_code()
) {
this->jprocess = nullptr;
this->begin = xbt_os_sem_init(0);
this->end = xbt_os_sem_init(0);
this->jprocess = nullptr;
this->begin = xbt_os_sem_init(0);
this->end = xbt_os_sem_init(0);