Pārlūkot izejas kodu

Detect MSG_process_self_name, which replaces SIMIX_process_self_get_name

Samuel Thibault 7 gadi atpakaļ
vecāks
revīzija
79fa02d655
2 mainītis faili ar 6 papildinājumiem un 1 dzēšanām
  1. 2 1
      configure.ac
  2. 4 0
      src/common/thread.c

+ 2 - 1
configure.ac

@@ -164,7 +164,8 @@ if test x$enable_simgrid = xyes ; then
 	AC_CHECK_HEADERS([simgrid/msg.h], [AC_DEFINE([STARPU_HAVE_SIMGRID_MSG_H], [1], [Define to 1 if you have msg.h in simgrid/.])])
 	AC_CHECK_HEADERS([xbt/synchro.h], [AC_DEFINE([STARPU_HAVE_XBT_SYNCHRO_H], [1], [Define to 1 if you have synchro.h in xbt/.])])
 	AC_CHECK_TYPES([smx_actor_t], [AC_DEFINE([STARPU_HAVE_SMX_ACTOR_T], [1], [Define to 1 if you have the smx_actor_t type.])], [], [[#include <simgrid/simix.h>]])
-   	AC_CHECK_FUNCS([MSG_process_join MSG_process_attach MSG_get_as_by_name MSG_environment_get_routing_root MSG_host_get_speed xbt_mutex_try_acquire smpi_process_set_user_data sg_link_name sg_host_route])
+   	AC_CHECK_FUNCS([MSG_process_join MSG_process_attach MSG_get_as_by_name MSG_environment_get_routing_root MSG_host_get_speed MSG_process_self_name])
+	AC_CHECK_FUNCS([xbt_mutex_try_acquire smpi_process_set_user_data sg_link_name sg_host_route])
 	AC_CHECK_FUNCS([xbt_barrier_init], [AC_DEFINE([STARPU_SIMGRID_HAVE_XBT_BARRIER_INIT], [1], [Define to 1 if you have the `xbt_barrier_init' function.])])
 	AC_CHECK_DECLS([smpi_process_set_user_data], [], [], [[#include <smpi/smpi.h>]])
 	AC_CHECK_FUNCS([SIMIX_process_get_code], [AC_DEFINE([STARPU_SIMGRID_HAVE_SIMIX_PROCESS_GET_CODE], [1], [Define to 1 if you have the `SIMIX_process_get_code' function.])])

+ 4 - 0
src/common/thread.c

@@ -249,7 +249,11 @@ int starpu_pthread_setspecific(starpu_pthread_key_t key, const void *pointer)
 {
 	void **array;
 #ifdef HAVE_SMPI_PROCESS_SET_USER_DATA
+#ifdef HAVE_MSG_PROCESS_SELF_NAME
+	const char *process_name = MSG_process_self_name();
+#else
 	const char *process_name = SIMIX_process_self_get_name();
+#endif
 	char *end;
 	/* Test whether it is an MPI rank */
 	strtol(process_name, &end, 10);