Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add xbt_procname(): returns the name of the current process
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Sun, 27 Feb 2005 23:45:16 +0000 (23:45 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Sun, 27 Feb 2005 23:45:16 +0000 (23:45 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@1096 48e7efb5-ca39-0410-a469-dd3cf9ba447f

include/xbt/misc.h
src/gras/Virtu/rl_process.c
src/msg/m_process.c

index bdb27d2..22eb219 100644 (file)
@@ -80,6 +80,8 @@ typedef struct {
    int port;
 } xbt_host_t;
 
+const char *xbt_procname(void);
+
 END_DECL()
 
 #endif /* XBT_MISC_H */
index ae191c3..716c807 100644 (file)
@@ -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
  * **************************************************************************/
index 3c603a0..d3eb7f9 100644 (file)
@@ -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 "";
+}