Attempt to clean up the thread ID mess in platform_unix ...
This commit is contained in:
parent
5a26df8383
commit
cef8847a06
|
@ -43,7 +43,7 @@ typedef struct __PHYSFS_FILEHANDLE__
|
||||||
|
|
||||||
typedef struct __PHYSFS_ERRMSGTYPE__
|
typedef struct __PHYSFS_ERRMSGTYPE__
|
||||||
{
|
{
|
||||||
PHYSFS_uint64 tid;
|
void *tid;
|
||||||
int errorAvailable;
|
int errorAvailable;
|
||||||
char errorString[80];
|
char errorString[80];
|
||||||
struct __PHYSFS_ERRMSGTYPE__ *next;
|
struct __PHYSFS_ERRMSGTYPE__ *next;
|
||||||
|
@ -268,7 +268,7 @@ void __PHYSFS_sort(void *entries, PHYSFS_uint32 max,
|
||||||
static ErrMsg *findErrorForCurrentThread(void)
|
static ErrMsg *findErrorForCurrentThread(void)
|
||||||
{
|
{
|
||||||
ErrMsg *i;
|
ErrMsg *i;
|
||||||
PHYSFS_uint64 tid;
|
void *tid;
|
||||||
|
|
||||||
if (errorLock != NULL)
|
if (errorLock != NULL)
|
||||||
__PHYSFS_platformGrabMutex(errorLock);
|
__PHYSFS_platformGrabMutex(errorLock);
|
||||||
|
|
|
@ -1307,12 +1307,12 @@ char *__PHYSFS_platformGetUserName(void);
|
||||||
char *__PHYSFS_platformGetUserDir(void);
|
char *__PHYSFS_platformGetUserDir(void);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return a number that uniquely identifies the current thread.
|
* Return a pointer that uniquely identifies the current thread.
|
||||||
* On a platform without threading, (1) will suffice. These numbers are
|
* On a platform without threading, (0x1) will suffice. These numbers are
|
||||||
* arbitrary; the only requirement is that no two threads have the same
|
* arbitrary; the only requirement is that no two threads have the same
|
||||||
* number.
|
* pointer.
|
||||||
*/
|
*/
|
||||||
PHYSFS_uint64 __PHYSFS_platformGetThreadID(void);
|
void *__PHYSFS_platformGetThreadID(void);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return non-zero if filename (in platform-dependent notation) exists.
|
* Return non-zero if filename (in platform-dependent notation) exists.
|
||||||
|
|
|
@ -194,9 +194,9 @@ char *__PHYSFS_platformCalcBaseDir(const char *argv0)
|
||||||
} /* __PHYSFS_platformCalcBaseDir */
|
} /* __PHYSFS_platformCalcBaseDir */
|
||||||
|
|
||||||
|
|
||||||
PHYSFS_uint64 __PHYSFS_platformGetThreadID(void)
|
void *__PHYSFS_platformGetThreadID(void)
|
||||||
{
|
{
|
||||||
return((PHYSFS_uint64) find_thread(NULL));
|
return((void *) find_thread(NULL));
|
||||||
} /* __PHYSFS_platformGetThreadID */
|
} /* __PHYSFS_platformGetThreadID */
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -353,9 +353,9 @@ int __PHYSFS_platformSetDefaultAllocator(PHYSFS_Allocator *a)
|
||||||
} /* __PHYSFS_platformSetDefaultAllocator */
|
} /* __PHYSFS_platformSetDefaultAllocator */
|
||||||
|
|
||||||
|
|
||||||
PHYSFS_uint64 __PHYSFS_platformGetThreadID(void)
|
void *__PHYSFS_platformGetThreadID(void)
|
||||||
{
|
{
|
||||||
return( (PHYSFS_uint64) ((size_t) MPCurrentTaskID()) );
|
return( (void *) ((size_t) MPCurrentTaskID()) );
|
||||||
} /* __PHYSFS_platformGetThreadID */
|
} /* __PHYSFS_platformGetThreadID */
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -658,7 +658,7 @@ PHYSFS_sint64 __PHYSFS_platformGetLastModTime(const char *_fname)
|
||||||
} /* __PHYSFS_platformGetLastModTime */
|
} /* __PHYSFS_platformGetLastModTime */
|
||||||
|
|
||||||
|
|
||||||
PHYSFS_uint64 __PHYSFS_platformGetThreadID(void)
|
void *__PHYSFS_platformGetThreadID(void)
|
||||||
{
|
{
|
||||||
PTIB ptib;
|
PTIB ptib;
|
||||||
PPIB ppib;
|
PPIB ppib;
|
||||||
|
@ -668,7 +668,7 @@ PHYSFS_uint64 __PHYSFS_platformGetThreadID(void)
|
||||||
* default value (zero might as well do) if it does.
|
* default value (zero might as well do) if it does.
|
||||||
*/
|
*/
|
||||||
BAIL_IF_MACRO(os2err(DosGetInfoBlocks(&ptib, &ppib)) != NO_ERROR, 0, 0);
|
BAIL_IF_MACRO(os2err(DosGetInfoBlocks(&ptib, &ppib)) != NO_ERROR, 0, 0);
|
||||||
return((PHYSFS_uint64) ptib->tib_ordinal);
|
return((void *) ptib->tib_ordinal);
|
||||||
} /* __PHYSFS_platformGetThreadID */
|
} /* __PHYSFS_platformGetThreadID */
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -161,9 +161,9 @@ char *__PHYSFS_platformGetUserDir(void)
|
||||||
} /* __PHYSFS_platformGetUserDir */
|
} /* __PHYSFS_platformGetUserDir */
|
||||||
|
|
||||||
|
|
||||||
PHYSFS_uint64 __PHYSFS_platformGetThreadID(void)
|
void *__PHYSFS_platformGetThreadID(void)
|
||||||
{
|
{
|
||||||
return(1); /* single threaded. */
|
return((void *)1); /* single threaded. */ /* !!! FIXME: is this true? */
|
||||||
} /* __PHYSFS_platformGetThreadID */
|
} /* __PHYSFS_platformGetThreadID */
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -347,7 +347,7 @@ int __PHYSFS_platformSetDefaultAllocator(PHYSFS_Allocator *a)
|
||||||
|
|
||||||
#if (defined PHYSFS_NO_PTHREADS_SUPPORT)
|
#if (defined PHYSFS_NO_PTHREADS_SUPPORT)
|
||||||
|
|
||||||
PHYSFS_uint64 __PHYSFS_platformGetThreadID(void) { return(0x0001); }
|
void *__PHYSFS_platformGetThreadID(void) { return((void *) 0x0001); }
|
||||||
void *__PHYSFS_platformCreateMutex(void) { return((void *) 0x0001); }
|
void *__PHYSFS_platformCreateMutex(void) { return((void *) 0x0001); }
|
||||||
void __PHYSFS_platformDestroyMutex(void *mutex) {}
|
void __PHYSFS_platformDestroyMutex(void *mutex) {}
|
||||||
int __PHYSFS_platformGrabMutex(void *mutex) { return(1); }
|
int __PHYSFS_platformGrabMutex(void *mutex) { return(1); }
|
||||||
|
@ -362,24 +362,10 @@ typedef struct
|
||||||
PHYSFS_uint32 count;
|
PHYSFS_uint32 count;
|
||||||
} PthreadMutex;
|
} PthreadMutex;
|
||||||
|
|
||||||
/* Just in case; this is a panic value. */
|
|
||||||
#if ((!defined SIZEOF_INT) || (SIZEOF_INT <= 0))
|
|
||||||
# define SIZEOF_INT 4
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if (SIZEOF_INT == 4)
|
void *__PHYSFS_platformGetThreadID(void)
|
||||||
# define PHTREAD_TO_UI64(thr) ( (PHYSFS_uint64) ((PHYSFS_uint32) (thr)) )
|
|
||||||
#elif (SIZEOF_INT == 2)
|
|
||||||
# define PHTREAD_TO_UI64(thr) ( (PHYSFS_uint64) ((PHYSFS_uint16) (thr)) )
|
|
||||||
#elif (SIZEOF_INT == 1)
|
|
||||||
# define PHTREAD_TO_UI64(thr) ( (PHYSFS_uint64) ((PHYSFS_uint8) (thr)) )
|
|
||||||
#else
|
|
||||||
# define PHTREAD_TO_UI64(thr) ((PHYSFS_uint64) (thr))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
PHYSFS_uint64 __PHYSFS_platformGetThreadID(void)
|
|
||||||
{
|
{
|
||||||
return(PHTREAD_TO_UI64(pthread_self()));
|
return( (void *) ((size_t) pthread_self()) );
|
||||||
} /* __PHYSFS_platformGetThreadID */
|
} /* __PHYSFS_platformGetThreadID */
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -559,9 +559,9 @@ char *__PHYSFS_platformGetUserDir(void)
|
||||||
} /* __PHYSFS_platformGetUserDir */
|
} /* __PHYSFS_platformGetUserDir */
|
||||||
|
|
||||||
|
|
||||||
PHYSFS_uint64 __PHYSFS_platformGetThreadID(void)
|
void *__PHYSFS_platformGetThreadID(void)
|
||||||
{
|
{
|
||||||
return((PHYSFS_uint64) GetCurrentThreadId());
|
return( (void *) ((size_t) GetCurrentThreadId()) );
|
||||||
} /* __PHYSFS_platformGetThreadID */
|
} /* __PHYSFS_platformGetThreadID */
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue