Updated SDL_TLSID to use the same type as other IDs in SDL

main
Sam Lantinga 2024-01-18 05:30:51 -08:00
parent fc0c774976
commit df4b855af5
3 changed files with 4 additions and 3 deletions

View File

@ -53,7 +53,7 @@ typedef struct SDL_Thread SDL_Thread;
typedef Uint64 SDL_ThreadID;
/* Thread local storage ID, 0 is the invalid ID */
typedef unsigned int SDL_TLSID;
typedef Uint32 SDL_TLSID;
/**
* The SDL thread priority.

View File

@ -29,7 +29,7 @@
SDL_TLSID SDL_CreateTLS(void)
{
static SDL_AtomicInt SDL_tls_id;
return SDL_AtomicIncRef(&SDL_tls_id) + 1;
return (SDL_TLSID)(SDL_AtomicIncRef(&SDL_tls_id) + 1);
}
void *SDL_GetTLS(SDL_TLSID id)
@ -60,6 +60,7 @@ int SDL_SetTLS(SDL_TLSID id, const void *value, void(SDLCALL *destructor)(void *
newlimit = (id + TLS_ALLOC_CHUNKSIZE);
new_storage = (SDL_TLSData *)SDL_realloc(storage, sizeof(*storage) + (newlimit - 1) * sizeof(storage->array[0]));
if (!new_storage) {
SDL_OutOfMemory();
return -1;
}
storage = new_storage;

View File

@ -78,7 +78,7 @@ extern void SDL_RunThread(SDL_Thread *thread);
/* This is the system-independent thread local storage structure */
typedef struct
{
unsigned int limit;
SDL_TLSID limit;
struct
{
void *data;