#include <atomic>
/**************** datatypes **********************************/
-/**************************** Host Extension *********************************/
-namespace simgrid {
-class MsgHostExt {
-public:
- static simgrid::xbt::Extension<s4u::Host, MsgHostExt> EXTENSION_ID;
-
- ~MsgHostExt() { delete file_descriptor_table; }
- std::vector<int>* file_descriptor_table = nullptr; // Created lazily on need
-};
-}
/********************************* Task **************************************/
struct s_simdata_task_t {
};
typedef s_MSG_Global_t* MSG_Global_t;
+XBT_PRIVATE void TRACE_msg_process_create(std::string process_name, int process_pid, msg_host_t host);
+XBT_PRIVATE void TRACE_msg_process_destroy(std::string process_name, int process_pid);
+
extern "C" {
XBT_PUBLIC_DATA(MSG_Global_t) msg_global;
smx_actor_t parent_process);
XBT_PRIVATE void MSG_comm_copy_data_from_SIMIX(smx_activity_t comm, void* buff, size_t buff_size);
-XBT_PRIVATE void MSG_host_add_task(msg_host_t host, msg_task_t task);
-XBT_PRIVATE void MSG_host_del_task(msg_host_t host, msg_task_t task);
-
/********** Tracing **********/
/* declaration of instrumentation functions from msg_task_instr.c */
XBT_PRIVATE void TRACE_msg_set_task_category(msg_task_t task, const char* category);
XBT_PRIVATE void TRACE_msg_task_execute_start(msg_task_t task);
XBT_PRIVATE void TRACE_msg_task_execute_end(msg_task_t task);
XBT_PRIVATE void TRACE_msg_task_destroy(msg_task_t task);
-XBT_PRIVATE void TRACE_msg_task_get_end(double start_time, msg_task_t task);
+XBT_PRIVATE void TRACE_msg_task_get_end(msg_task_t task);
XBT_PRIVATE void TRACE_msg_task_get_start();
XBT_PRIVATE int TRACE_msg_task_put_start(msg_task_t task); // returns TRUE if the task_put_end must be called
XBT_PRIVATE void TRACE_msg_task_put_end();
/* declaration of instrumentation functions from msg_process_instr.c */
-XBT_PRIVATE char* instr_process_id(msg_process_t proc, char* str, int len);
-XBT_PRIVATE char* instr_process_id_2(const char* process_name, int process_pid, char* str, int len);
XBT_PRIVATE void TRACE_msg_process_change_host(msg_process_t process, msg_host_t new_host);
-XBT_PRIVATE void TRACE_msg_process_create(const char* process_name, int process_pid, msg_host_t host);
-XBT_PRIVATE void TRACE_msg_process_destroy(const char* process_name, int process_pid);
XBT_PRIVATE void TRACE_msg_process_kill(smx_process_exit_status_t status, msg_process_t process);
-XBT_PRIVATE void TRACE_msg_process_suspend(msg_process_t process);
-XBT_PRIVATE void TRACE_msg_process_resume(msg_process_t process);
-XBT_PRIVATE void TRACE_msg_process_sleep_in(msg_process_t process); // called from msg/gos.c
-XBT_PRIVATE void TRACE_msg_process_sleep_out(msg_process_t process);
}
inline void s_simdata_task_t::setUsed()
{
if (this->isused)
this->reportMultipleUse();
- if (msg_global->debug_multiple_use) {
- // TODO, backtrace
- }
this->isused = true;
}