From 4042406fae5369176f33168ef9fd88ff084327c6 Mon Sep 17 00:00:00 2001 From: mquinson Date: Sun, 27 Feb 2005 23:45:16 +0000 Subject: [PATCH] Add xbt_procname(): returns the name of the current process git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@1096 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- include/xbt/misc.h | 2 ++ src/gras/Virtu/rl_process.c | 5 +++++ src/msg/m_process.c | 11 ++++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/include/xbt/misc.h b/include/xbt/misc.h index bdb27d2017..22eb2194ec 100644 --- a/include/xbt/misc.h +++ b/include/xbt/misc.h @@ -80,6 +80,8 @@ typedef struct { int port; } xbt_host_t; +const char *xbt_procname(void); + END_DECL() #endif /* XBT_MISC_H */ diff --git a/src/gras/Virtu/rl_process.c b/src/gras/Virtu/rl_process.c index ae191c35c3..716c80715e 100644 --- a/src/gras/Virtu/rl_process.c +++ b/src/gras/Virtu/rl_process.c @@ -15,6 +15,7 @@ XBT_LOG_DEFAULT_CATEGORY(process); /* globals */ static gras_procdata_t *_gras_procdata = NULL; +char const *_gras_procname = NULL; xbt_error_t gras_process_init() { _gras_procdata=xbt_new(gras_procdata_t,1); @@ -27,6 +28,10 @@ xbt_error_t gras_process_exit() { return no_error; } +const char *xbt_procname(void) { + return _gras_procname; +} + /* ************************************************************************** * Process data * **************************************************************************/ diff --git a/src/msg/m_process.c b/src/msg/m_process.c index 3c603a0e43..d3eb7f9977 100644 --- a/src/msg/m_process.c +++ b/src/msg/m_process.c @@ -318,7 +318,7 @@ int MSG_process_self_PPID(void) */ m_process_t MSG_process_self(void) { - return msg_global->current_process; + return msg_global ? msg_global->current_process : NULL; } /** \ingroup m_process_management @@ -482,3 +482,12 @@ int __MSG_process_isBlocked(m_process_t process) return (process->simdata->blocked); } + + +const char* xbt_procname(void) { + m_process_t process = MSG_process_self(); + if ((process != NULL) && (process->simdata)) + return MSG_process_get_name(process); + else + return ""; +} -- 2.20.1