Преглед на файлове

Do not let an SMPI program run without smpi_process_get_user_data, we definitely need it

Samuel Thibault преди 8 години
родител
ревизия
d91e7c001a
променени са 1 файла, в които са добавени 9 реда и са изтрити 0 реда
  1. 9 0
      src/core/simgrid.c

+ 9 - 0
src/core/simgrid.c

@@ -260,12 +260,21 @@ int do_starpu_main(int argc, char *argv[])
 	return main_ret;
 }
 
+/* We need it only when using smpi */
+#pragma weak smpi_process_get_user_data
+extern void *smpi_process_get_user_data();
+
 #undef main
 #pragma weak main
 int main(int argc, char **argv)
 {
 	if (_starpu_simgrid_running_smpi())
 	{
+		if (!smpi_process_get_user_data)
+		{
+			fprintf(stderr,"Your version of simgrid does not provide smpi_process_get_user_data, we can not continue without it\n");
+			exit(1);
+		}
 		/* Oops, we are running SMPI, let it start Simgrid, and we'll
 		 * take back hand in _starpu_simgrid_init from starpu_init() */
 		return smpi_main(_starpu_mpi_simgrid_init, argc, argv);