Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
adding a getpid function
authoralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 29 Mar 2005 23:49:23 +0000 (23:49 +0000)
committeralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 29 Mar 2005 23:49:23 +0000 (23:49 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@1187 48e7efb5-ca39-0410-a469-dd3cf9ba447f

include/gras/virtu.h
src/gras/Virtu/rl_process.c
src/gras/Virtu/sg_process.c

index e15510e..6b3b7f6 100644 (file)
@@ -39,6 +39,13 @@ void gras_os_sleep(double sec);
 const char *
 gras_os_myname(void);
 
+/** @brief get process identification
+ *
+ * Returns the process ID of the current process.  (This is often used
+   by routines that generate unique temporary file names.)
+ */
+int gras_process_getpid(void);
+
 /** @} */
 END_DECL()
 
index f602d7a..67933cd 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "gras_modinter.h" /* module initialization interface */
 #include "gras/Virtu/virtu_rl.h"
+#include "portable.h"
 
 XBT_LOG_EXTERNAL_CATEGORY(process);
 XBT_LOG_DEFAULT_CATEGORY(process);
@@ -33,6 +34,10 @@ const char *xbt_procname(void) {
   else return "(null)";
 }
 
+int gras_process_getpid(void) {
+  return getpid();
+}
+
 /* **************************************************************************
  * Process data
  * **************************************************************************/
index 0c51c0e..4f78a49 100644 (file)
@@ -134,3 +134,11 @@ const char* xbt_procname(void) {
   else
     return "";
 }
+
+int gras_process_getpid(void) {
+  m_process_t process = MSG_process_self();
+  if ((process != NULL) && (process->simdata))
+    return MSG_process_get_PID(MSG_process_self());
+  else
+    return 0;
+}