wasapi: Patched to compile with Clang.

This commit is contained in:
Ryan C. Gordon 2023-07-22 13:37:27 -04:00
parent 4aa95c21bc
commit 29a0c689c9
No known key found for this signature in database
GPG Key ID: FA148B892AB48044
1 changed files with 5 additions and 5 deletions

View File

@ -72,11 +72,11 @@ static void ManagementThreadMainloop(void)
{
SDL_LockMutex(ManagementThreadLock);
ManagementThreadPendingTask *task;
while (((task = SDL_AtomicGetPtr(&ManagementThreadPendingTasks)) != NULL) || !SDL_AtomicGet(&ManagementThreadShutdown)) {
while (((task = SDL_AtomicGetPtr((void **) &ManagementThreadPendingTasks)) != NULL) || !SDL_AtomicGet(&ManagementThreadShutdown)) {
if (!task) {
SDL_WaitCondition(ManagementThreadCondition, ManagementThreadLock); // block until there's something to do.
} else {
SDL_AtomicSetPtr(&ManagementThreadPendingTasks, task->next); // take task off the pending list.
SDL_AtomicSetPtr((void **) &ManagementThreadPendingTasks, task->next); // take task off the pending list.
SDL_UnlockMutex(ManagementThreadLock); // let other things add to the list while we chew on this task.
task->result = task->fn(task->userdata); // run this task.
if (task->task_complete_sem) { // something waiting on result?
@ -132,7 +132,7 @@ int WASAPI_ProxyToManagementThread(ManagementThreadTask task, void *userdata, in
if (prev != NULL) {
prev->next = pending;
} else {
SDL_AtomicSetPtr(&ManagementThreadPendingTasks, pending);
SDL_AtomicSetPtr((void **) &ManagementThreadPendingTasks, pending);
}
// task is added to the end of the pending list, let management thread rip!
@ -208,7 +208,7 @@ static int InitManagementThread(void)
return -1;
}
SDL_AtomicSetPtr(&ManagementThreadPendingTasks, NULL);
SDL_AtomicSetPtr((void **) &ManagementThreadPendingTasks, NULL);
SDL_AtomicSet(&ManagementThreadShutdown, 0);
ManagementThread = SDL_CreateThreadInternal(ManagementThreadEntry, "SDLWASAPIMgmt", 256 * 1024, &mgmtdata); // !!! FIXME: maybe even smaller stack size?
if (!ManagementThread) {
@ -240,7 +240,7 @@ static void DeinitManagementThread(void)
ManagementThread = NULL;
}
SDL_assert(SDL_AtomicGetPtr(&ManagementThreadPendingTasks) == NULL);
SDL_assert(SDL_AtomicGetPtr((void **) &ManagementThreadPendingTasks) == NULL);
SDL_DestroyCondition(ManagementThreadCondition);
SDL_DestroyMutex(ManagementThreadLock);