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 pull request #17 from mpoquet/master
[simgrid.git]
/
src
/
msg
/
msg_process.c
diff --git
a/src/msg/msg_process.c
b/src/msg/msg_process.c
index
c3038c7
..
419e710
100644
(file)
--- a/
src/msg/msg_process.c
+++ b/
src/msg/msg_process.c
@@
-164,12
+164,14
@@
msg_process_t MSG_process_create_with_environment(const char *name,
simdata->data = data;
simdata->last_errno = MSG_OK;
simdata->data = data;
simdata->last_errno = MSG_OK;
+ int future_simix_process_pid = SIMIX_process_get_maxpid();
+ TRACE_msg_process_create(name, future_simix_process_pid, host);
+
/* Let's create the process: SIMIX may decide to start it right now,
* even before returning the flow control to us */
/* Let's create the process: SIMIX may decide to start it right now,
* even before returning the flow control to us */
- simcall_process_create(&process, name, code, simdata, sg_host_name(host), -1,
+
simcall_process_create(&process, name, code, simdata, sg_host_name(host), -1,
argc, argv, properties,0);
argc, argv, properties,0);
-
- TRACE_msg_process_create(name, SIMIX_process_get_PID(process), host);
+ xbt_assert(future_simix_process_pid == SIMIX_process_get_PID(process));
if (!process) {
/* Undo everything we have just changed */
if (!process) {
/* Undo everything we have just changed */
@@
-239,7
+241,10
@@
void* MSG_process_get_data(msg_process_t process)
/* get from SIMIX the MSG process data, and then the user data */
simdata_process_t simdata = simcall_process_get_data(process);
/* get from SIMIX the MSG process data, and then the user data */
simdata_process_t simdata = simcall_process_get_data(process);
- return simdata->data;
+ if (simdata)
+ return simdata->data;
+ else
+ return NULL;
}
/** \ingroup m_process_management
}
/** \ingroup m_process_management