Ver Fonte

Catch case where we use the Unix code on a non-Unix system that lacks pthreads.

Thanks, Patrice!
Ryan C. Gordon há 16 anos atrás
pai
commit
5a98fc83a8
2 ficheiros alterados com 4 adições e 5 exclusões
  1. 1 2
      CMakeLists.txt
  2. 3 3
      src/platform_unix.c

+ 1 - 2
CMakeLists.txt

@@ -191,8 +191,6 @@ IF(UNIX)
         CHECK_INCLUDE_FILE(pthread.h HAVE_PTHREAD_H)
         IF(HAVE_PTHREAD_H)
             SET(PHYSFS_HAVE_THREAD_SUPPORT TRUE)
-        ELSE(HAVE_PTHREAD_H)
-            ADD_DEFINITIONS(-DPHYSFS_NO_PTHREADS_SUPPORT=1)
         ENDIF(HAVE_PTHREAD_H)
     ENDIF(BEOS)
 ENDIF(UNIX)
@@ -216,6 +214,7 @@ ENDIF(NOT PHYSFS_HAVE_CDROM_SUPPORT)
 IF(PHYSFS_HAVE_THREAD_SUPPORT)
     ADD_DEFINITIONS(-D_REENTRANT -D_THREAD_SAFE)
 ELSE(PHYSFS_HAVE_THREAD_SUPPORT)
+    ADD_DEFINITIONS(-DPHYSFS_NO_THREAD_SUPPORT=1)
     MESSAGE(WARNING " ***")
     MESSAGE(WARNING " *** There is no thread support in this build!")
     MESSAGE(WARNING " *** PhysicsFS will NOT be reentrant!")

+ 3 - 3
src/platform_unix.c

@@ -24,7 +24,7 @@
 #include <time.h>
 #include <errno.h>
 
-#if (!defined PHYSFS_NO_PTHREADS_SUPPORT)
+#if (!defined PHYSFS_NO_THREAD_SUPPORT)
 #include <pthread.h>
 #endif
 
@@ -345,7 +345,7 @@ int __PHYSFS_platformSetDefaultAllocator(PHYSFS_Allocator *a)
 } /* __PHYSFS_platformSetDefaultAllocator */
 
 
-#if (defined PHYSFS_NO_PTHREADS_SUPPORT)
+#if (defined PHYSFS_NO_THREAD_SUPPORT)
 
 void *__PHYSFS_platformGetThreadID(void) { return ((void *) 0x0001); }
 void *__PHYSFS_platformCreateMutex(void) { return ((void *) 0x0001); }
@@ -429,7 +429,7 @@ void __PHYSFS_platformReleaseMutex(void *mutex)
     } /* if */
 } /* __PHYSFS_platformReleaseMutex */
 
-#endif /* !PHYSFS_NO_PTHREADS_SUPPORT */
+#endif /* !PHYSFS_NO_THREAD_SUPPORT */
 
 #endif /* PHYSFS_PLATFORM_UNIX */