Explorar el Código

mkostemp was not available before 2008-ish

Samuel Thibault hace 10 años
padre
commit
dc1c469b6d
Se han modificado 2 ficheros con 5 adiciones y 5 borrados
  1. 1 1
      configure.ac
  2. 4 4
      src/core/disk_ops/unistd/disk_unistd_global.c

+ 1 - 1
configure.ac

@@ -320,7 +320,7 @@ AC_CHECK_FUNC([sched_yield], [AC_DEFINE([STARPU_HAVE_SCHED_YIELD], [1], [Define
 
 AC_CHECK_HEADERS([aio.h])
 
-AC_CHECK_FUNCS([mkstemps])
+AC_CHECK_FUNCS([mkostemp])
 
 AC_CHECK_FUNCS([pread pwrite])
 

+ 4 - 4
src/core/disk_ops/unistd/disk_unistd_global.c

@@ -67,14 +67,14 @@ void *starpu_unistd_global_alloc(struct starpu_unistd_global_obj *obj, void *bas
 	strcpy(baseCpy, (char *) base);
 	strcat(baseCpy,"/");
 	strcat(baseCpy,template);
-#ifdef STARPU_LINUX_SYS
-	id = mkostemp(baseCpy, obj->flags);
-#elif defined(STARPU_HAVE_WINDOWS)
+#if defined(STARPU_HAVE_WINDOWS)
 	/* size in windows is a multiple of char */
 	_mktemp(baseCpy);
 	id = open(baseCpy, obj->flags);
+#elif defined (HAVE_MKOSTEMP)
+	id = mkostemp(baseCpy, obj->flags);
 #else
-	STARPU_ASSERT(obj->flags == O_RDWR);
+	STARPU_ASSERT(obj->flags == (O_RDWR | O_BINARY));
 	id = mkstemp(baseCpy);
 #endif