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
Starting simix mecanism for io.
[simgrid.git]
/
src
/
simix
/
smx_process.c
diff --git
a/src/simix/smx_process.c
b/src/simix/smx_process.c
index
c698c7c
..
bf04014
100644
(file)
--- a/
src/simix/smx_process.c
+++ b/
src/simix/smx_process.c
@@
-284,8
+284,8
@@
void SIMIX_process_kill(smx_process_t process) {
break;
case SIMIX_ACTION_IO:
break;
case SIMIX_ACTION_IO:
-
THROW_UNIMPLEMENTED
;
-
break;
+
SIMIX_io_destroy(process->waiting_action)
;
+ break;
}
}
}
}
@@
-644,7
+644,21
@@
void SIMIX_process_set_context(smx_process_t p,smx_context_t c) {
/**
* \brief Returns the list of processes to run.
*/
/**
* \brief Returns the list of processes to run.
*/
-
XBT_INLINE
xbt_dynar_t SIMIX_process_get_runnable(void)
+xbt_dynar_t SIMIX_process_get_runnable(void)
{
return simix_global->process_to_run;
}
{
return simix_global->process_to_run;
}
+
+/**
+ * \brief Returns the process from PID.
+ */
+smx_process_t SIMIX_process_from_PID(int PID)
+{
+ smx_process_t proc;
+ xbt_swag_foreach(proc, simix_global->process_list)
+ {
+ if(proc->pid == PID)
+ return proc;
+ }
+ return NULL;
+}