* \param data a pointer to any data one may want to attach to the new object. It is for user-level information and can be NULL.
* It can be retrieved with the function \ref simcall_process_get_data.
* \param hostname name of the host where the new agent is executed.
+ * \param kill_time time when the process is killed
* \param argc first argument passed to \a code
* \param argv second argument passed to \a code
* \param properties the properties of the process
xbt_main_func_t code,
void *data,
const char *hostname,
+ double kill_time,
int argc, char **argv,
xbt_dict_t properties)
{
simcall->process_create.code = code;
simcall->process_create.data = data;
simcall->process_create.hostname = hostname;
+ simcall->process_create.kill_time = kill_time;
simcall->process_create.argc = argc;
simcall->process_create.argv = argv;
simcall->process_create.properties = properties;
}
}
+/** \ingroup m_process_management
+ * \brief Set the kill time of a process.
+ *
+ * \param process a process
+ * \param kill_time a double
+ */
+void simcall_process_set_kill_time(smx_process_t process, double kill_time)
+{
+
+ if (kill_time > SIMIX_get_clock()) {
+ if (simix_global->kill_process_function) {
+ XBT_DEBUG("Set kill time %f for process %s(%s)",kill_time, process->name,
+ process->smx_host->name);
+ SIMIX_timer_set(kill_time, simix_global->kill_process_function, process);
+ }
+ }
+}
+
/**
* \brief Return the location on which an agent is running.
*