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 09bba46..585a863 100644 (file)
@@ -1,5 +1,3 @@
-/* $Id$ */
-
 /* sg_dns - name resolution (simulator)                                     */
 
 /* Copyright (c) 2005 Martin Quinson. All rights reserved.                  */
 
 const char *gras_os_myname(void)
 {
-  smx_host_t host = SIMIX_host_self();
-  if (host != NULL)
-    return SIMIX_host_get_name(SIMIX_host_self());
-  else
-    return "";
+  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 ""; 
 }