Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Kill old $Id$ command dating from CVS
[simgrid.git] / src / gras / Virtu / sg_dns.c
index 1d67ee4..585a863 100644 (file)
@@ -1,5 +1,3 @@
-/* $Id$ */
-
 /* sg_dns - name resolution (simulator)                                     */
 
 /* Copyright (c) 2005 Martin Quinson. All rights reserved.                  */
@@ -10,6 +8,21 @@
 
 #include "gras/Virtu/virtu_sg.h"
 
-const char *gras_os_myname(void) {
-   return MSG_host_get_name(MSG_host_self());
+const char *gras_os_myname(void)
+{
+  smx_host_t host;
+  smx_process_t process = SIMIX_process_self();
+
+  /*HACK: maestro used not have a simix process, now it does so 
+    SIMIX_process_self will return something different to NULL. This breaks
+    the old xbt_log logic that assumed that NULL was equivalent to maestro,
+    thus when printing it searches for maestro host name (which doesn't exists)
+    and breaks the logging.
+    As a hack we check for maestro by looking to the assigned host, if it is
+    NULL then we are sure is maestro
+  */
+  if (process != NULL && (host = SIMIX_host_self()) != NULL)
+      return SIMIX_host_get_name(host);
+  return ""; 
 }