浏览代码

Use mkstemps only if available

Samuel Thibault 11 年之前
父节点
当前提交
ecb3334dea
共有 2 个文件被更改,包括 10 次插入0 次删除
  1. 2 0
      configure.ac
  2. 8 0
      src/core/simgrid.c

+ 2 - 0
configure.ac

@@ -278,6 +278,8 @@ AC_CHECK_FUNC([sched_yield], [AC_DEFINE([STARPU_HAVE_SCHED_YIELD], [1], [Define
 
 AC_CHECK_HEADERS([aio.h])
 
+AC_CHECK_FUNCS([mkstemps])
+
 # This defines HAVE_SYNC_VAL_COMPARE_AND_SWAP
 STARPU_CHECK_SYNC_VAL_COMPARE_AND_SWAP
 

+ 8 - 0
src/core/simgrid.c

@@ -204,7 +204,11 @@ void _starpu_simgrid_init()
 		char cmdline[1024];
 		FILE *in;
 		int out;
+#ifdef HAVE_MKSTEMPS
 		char template[] = "/tmp/"STARPU_MPI_AS_PREFIX"-platform-XXXXXX.xml";
+#else
+		char template[] = "/tmp/"STARPU_MPI_AS_PREFIX"-platform-XXXXXX";
+#endif
 		int ret;
 
 		STARPU_ASSERT(starpu_mpi_world_rank);
@@ -214,7 +218,11 @@ void _starpu_simgrid_init()
 		_starpu_simgrid_get_platform_path(path, sizeof(path));
 		in = fopen(path, "r");
 		STARPU_ASSERT_MSG(in, "Could not open platform file %s", path);
+#ifdef HAVE_MKSTEMPS
 		out = mkstemps(template, strlen(".xml"));
+#else
+		out = mkstemp(template);
+#endif
 
 		/* Generate modified XML platform */
 		STARPU_ASSERT_MSG(out >= 0, "Could not create temporary file like %s", template);