early-access version 2847

This commit is contained in:
pineappleEA
2022-07-19 05:48:31 +02:00
parent ba74a2373c
commit 05e3c38e7f
498 changed files with 16027 additions and 27028 deletions

View File

@@ -32,8 +32,6 @@
#include "pthread/SDL_systhread_c.h"
#elif SDL_THREAD_WINDOWS
#include "windows/SDL_systhread_c.h"
#elif SDL_THREAD_PS2
#include "ps2/SDL_systhread_c.h"
#elif SDL_THREAD_PSP
#include "psp/SDL_systhread_c.h"
#elif SDL_THREAD_VITA
@@ -42,8 +40,6 @@
#include "stdcpp/SDL_systhread_c.h"
#elif SDL_THREAD_OS2
#include "os2/SDL_systhread_c.h"
#elif SDL_THREAD_NGAGE
#include "ngage/SDL_systhread_c.h"
#else
#error Need thread implementation for this platform
#include "generic/SDL_systhread_c.h"

View File

@@ -99,7 +99,7 @@ SDL_CondSignal_generic(SDL_cond * _cond)
{
SDL_cond_generic *cond = (SDL_cond_generic *)_cond;
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
/* If there are waiting threads not already signalled, then
@@ -124,7 +124,7 @@ SDL_CondBroadcast_generic(SDL_cond * _cond)
{
SDL_cond_generic *cond = (SDL_cond_generic *)_cond;
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
/* If there are waiting threads not already signalled, then
@@ -181,7 +181,7 @@ SDL_CondWaitTimeout_generic(SDL_cond * _cond, SDL_mutex * mutex, Uint32 ms)
int retval;
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
/* Obtain the protection mutex, and increment the number of waiters.

View File

@@ -78,7 +78,7 @@ SDL_LockMutex(SDL_mutex * mutex)
SDL_threadID this_thread;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
this_thread = SDL_ThreadID();
@@ -109,7 +109,7 @@ SDL_TryLockMutex(SDL_mutex * mutex)
SDL_threadID this_thread;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
this_thread = SDL_ThreadID();
@@ -139,7 +139,7 @@ SDL_mutexV(SDL_mutex * mutex)
return 0;
#else
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
/* If we don't own the mutex, we can't unlock it */

View File

@@ -132,7 +132,7 @@ SDL_SemTryWait(SDL_sem * sem)
int retval;
if (!sem) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL semaphore");
}
retval = SDL_MUTEX_TIMEDOUT;
@@ -152,7 +152,7 @@ SDL_SemWaitTimeout(SDL_sem * sem, Uint32 timeout)
int retval;
if (!sem) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL semaphore");
}
/* A timeout of 0 is an easy case */
@@ -200,7 +200,7 @@ int
SDL_SemPost(SDL_sem * sem)
{
if (!sem) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL semaphore");
}
SDL_LockMutex(sem->count_lock);

View File

@@ -56,12 +56,12 @@ SDL_CreateMutex(void)
void
SDL_DestroyMutex(SDL_mutex * mutex)
{
ULONG ulRC;
HMTX hMtx = (HMTX)mutex;
if (hMtx != NULLHANDLE) {
const ULONG ulRC = DosCloseMutexSem(hMtx);
if (ulRC != NO_ERROR) {
debug_os2("DosCloseMutexSem(), rc = %u", ulRC);
}
ulRC = DosCloseMutexSem(hMtx);
if (ulRC != NO_ERROR) {
debug_os2("DosCloseMutexSem(), rc = %u", ulRC);
}
}
@@ -73,7 +73,7 @@ SDL_LockMutex(SDL_mutex * mutex)
HMTX hMtx = (HMTX)mutex;
if (hMtx == NULLHANDLE)
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
ulRC = DosRequestMutexSem(hMtx, SEM_INDEFINITE_WAIT);
if (ulRC != NO_ERROR) {
@@ -92,7 +92,7 @@ SDL_TryLockMutex(SDL_mutex * mutex)
HMTX hMtx = (HMTX)mutex;
if (hMtx == NULLHANDLE)
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
ulRC = DosRequestMutexSem(hMtx, SEM_IMMEDIATE_RETURN);
@@ -115,7 +115,7 @@ SDL_UnlockMutex(SDL_mutex * mutex)
HMTX hMtx = (HMTX)mutex;
if (hMtx == NULLHANDLE)
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
ulRC = DosReleaseMutexSem(hMtx);
if (ulRC != NO_ERROR)

View File

@@ -89,7 +89,7 @@ SDL_SemWaitTimeout(SDL_sem * sem, Uint32 timeout)
ULONG cPost;
if (sem == NULL)
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL sem");
if (timeout != SEM_INDEFINITE_WAIT)
DosQuerySysInfo(QSV_MS_COUNT, QSV_MS_COUNT, &ulStartTime, sizeof(ULONG));
@@ -147,7 +147,7 @@ SDL_SemValue(SDL_sem * sem)
ULONG ulRC;
if (sem == NULL) {
SDL_InvalidParamError("sem");
SDL_SetError("Passed a NULL sem");
return 0;
}
@@ -167,7 +167,7 @@ SDL_SemPost(SDL_sem * sem)
ULONG ulRC;
if (sem == NULL)
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL sem");
ulRC = DosRequestMutexSem(sem->hMtx, SEM_INDEFINITE_WAIT);
if (ulRC != NO_ERROR)

View File

@@ -84,7 +84,7 @@ int
SDL_CondSignal(SDL_cond * cond)
{
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
/* If there are waiting threads not already signalled, then
@@ -108,7 +108,7 @@ int
SDL_CondBroadcast(SDL_cond * cond)
{
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
/* If there are waiting threads not already signalled, then
@@ -164,7 +164,7 @@ SDL_CondWaitTimeout(SDL_cond * cond, SDL_mutex * mutex, Uint32 ms)
int retval;
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
/* Obtain the protection mutex, and increment the number of waiters.

View File

@@ -84,7 +84,7 @@ SDL_TryLockMutex(SDL_mutex * mutex)
#else
SceInt32 res = 0;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
res = sceKernelTryLockLwMutex(&mutex->lock, 1);
@@ -114,7 +114,7 @@ SDL_mutexP(SDL_mutex * mutex)
#else
SceInt32 res = 0;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
res = sceKernelLockLwMutex(&mutex->lock, 1, NULL);
@@ -136,7 +136,7 @@ SDL_mutexV(SDL_mutex * mutex)
SceInt32 res = 0;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
res = sceKernelUnlockLwMutex(&mutex->lock, 1);

View File

@@ -82,7 +82,7 @@ int SDL_SemWaitTimeout(SDL_sem *sem, Uint32 timeout)
int res;
if (sem == NULL) {
SDL_InvalidParamError("sem");
SDL_SetError("Passed a NULL sem");
return 0;
}
@@ -128,7 +128,7 @@ Uint32 SDL_SemValue(SDL_sem *sem)
SceKernelSemaInfo info;
if (sem == NULL) {
SDL_InvalidParamError("sem");
SDL_SetError("Passed a NULL sem");
return 0;
}
@@ -144,7 +144,7 @@ int SDL_SemPost(SDL_sem *sem)
int res;
if (sem == NULL) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL sem");
}
res = sceKernelSignalSema(sem->semid, 1);

View File

@@ -68,7 +68,7 @@ SDL_CondSignal(SDL_cond * cond)
int retval;
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
retval = 0;
@@ -85,7 +85,7 @@ SDL_CondBroadcast(SDL_cond * cond)
int retval;
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
retval = 0;
@@ -105,7 +105,7 @@ SDL_CondWaitTimeout(SDL_cond * cond, SDL_mutex * mutex, Uint32 ms)
struct timespec abstime;
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
#ifdef HAVE_CLOCK_GETTIME
@@ -148,7 +148,7 @@ int
SDL_CondWait(SDL_cond * cond, SDL_mutex * mutex)
{
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
} else if (pthread_cond_wait(&cond->cond, &mutex->id) != 0) {
return SDL_SetError("pthread_cond_wait() failed");
}

View File

@@ -85,7 +85,7 @@ SDL_LockMutex(SDL_mutex * mutex)
#endif
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
#if FAKE_RECURSIVE_MUTEX
@@ -122,7 +122,7 @@ SDL_TryLockMutex(SDL_mutex * mutex)
#endif
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
retval = 0;
@@ -162,7 +162,7 @@ int
SDL_UnlockMutex(SDL_mutex * mutex)
{
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
#if FAKE_RECURSIVE_MUTEX

View File

@@ -73,7 +73,7 @@ SDL_SemTryWait(SDL_sem * sem)
int retval;
if (!sem) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL semaphore");
}
retval = SDL_MUTEX_TIMEDOUT;
if (sem_trywait(&sem->sem) == 0) {
@@ -88,7 +88,7 @@ SDL_SemWait(SDL_sem * sem)
int retval;
if (!sem) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL semaphore");
}
do {
@@ -115,7 +115,7 @@ SDL_SemWaitTimeout(SDL_sem * sem, Uint32 timeout)
#endif
if (!sem) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL semaphore");
}
/* Try the easy cases first */
@@ -195,7 +195,7 @@ SDL_SemPost(SDL_sem * sem)
int retval;
if (!sem) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL semaphore");
}
retval = sem_post(&sem->sem);

View File

@@ -30,13 +30,13 @@
#endif
#include <signal.h>
#include <errno.h>
#ifdef __LINUX__
#include <sys/time.h>
#include <sys/resource.h>
#include <sys/syscall.h>
#include <unistd.h>
#include <errno.h>
#include "../../core/linux/SDL_dbus.h"
#endif /* __LINUX__ */
@@ -137,29 +137,22 @@ SDL_SYS_SetupThread(const char *name)
#if defined(__MACOSX__) || defined(__IPHONEOS__)
ppthread_setname_np(name);
#elif defined(__LINUX__)
if (ppthread_setname_np(pthread_self(), name) == ERANGE) {
char namebuf[16]; /* Limited to 16 char */
SDL_strlcpy(namebuf, name, sizeof (namebuf));
ppthread_setname_np(pthread_self(), namebuf);
}
ppthread_setname_np(pthread_self(), name);
#endif
}
#elif HAVE_PTHREAD_SETNAME_NP
#if defined(__NETBSD__)
pthread_setname_np(pthread_self(), "%s", name);
#else
if (pthread_setname_np(pthread_self(), name) == ERANGE) {
char namebuf[16]; /* Limited to 16 char */
SDL_strlcpy(namebuf, name, sizeof (namebuf));
pthread_setname_np(pthread_self(), namebuf);
}
pthread_setname_np(pthread_self(), name);
#endif
#elif HAVE_PTHREAD_SET_NAME_NP
pthread_set_name_np(pthread_self(), name);
#elif defined(__HAIKU__)
/* The docs say the thread name can't be longer than B_OS_NAME_LENGTH. */
char namebuf[B_OS_NAME_LENGTH];
SDL_strlcpy(namebuf, name, sizeof (namebuf));
SDL_snprintf(namebuf, sizeof (namebuf), "%s", name);
namebuf[sizeof (namebuf) - 1] = '\0';
rename_thread(find_thread(NULL), namebuf);
#endif
}
@@ -193,7 +186,7 @@ SDL_ThreadID(void)
int
SDL_SYS_SetThreadPriority(SDL_ThreadPriority priority)
{
#if __NACL__ || __RISCOS__ || __OS2__
#if __NACL__ || __RISCOS__
/* FIXME: Setting thread priority does not seem to be supported in NACL */
return 0;
#else

View File

@@ -70,7 +70,8 @@ int
SDL_CondSignal(SDL_cond * cond)
{
if (!cond) {
return SDL_InvalidParamError("cond");
SDL_SetError("Passed a NULL condition variable");
return -1;
}
cond->cpp_cond.notify_one();
@@ -83,7 +84,8 @@ int
SDL_CondBroadcast(SDL_cond * cond)
{
if (!cond) {
return SDL_InvalidParamError("cond");
SDL_SetError("Passed a NULL condition variable");
return -1;
}
cond->cpp_cond.notify_all();
@@ -116,11 +118,13 @@ int
SDL_CondWaitTimeout(SDL_cond * cond, SDL_mutex * mutex, Uint32 ms)
{
if (!cond) {
return SDL_InvalidParamError("cond");
SDL_SetError("Passed a NULL condition variable");
return -1;
}
if (!mutex) {
return SDL_InvalidParamError("mutex");
SDL_SetError("Passed a NULL mutex variable");
return -1;
}
try {
@@ -144,7 +148,8 @@ SDL_CondWaitTimeout(SDL_cond * cond, SDL_mutex * mutex, Uint32 ms)
}
}
} catch (std::system_error & ex) {
return SDL_SetError("unable to wait on a C++ condition variable: code=%d; %s", ex.code(), ex.what());
SDL_SetError("unable to wait on a C++ condition variable: code=%d; %s", ex.code(), ex.what());
return -1;
}
}

View File

@@ -65,14 +65,16 @@ int
SDL_mutexP(SDL_mutex * mutex)
{
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
SDL_SetError("Passed a NULL mutex");
return -1;
}
try {
mutex->cpp_mutex.lock();
return 0;
} catch (std::system_error & ex) {
return SDL_SetError("unable to lock a C++ mutex: code=%d; %s", ex.code(), ex.what());
SDL_SetError("unable to lock a C++ mutex: code=%d; %s", ex.code(), ex.what());
return -1;
}
}
@@ -82,7 +84,7 @@ SDL_TryLockMutex(SDL_mutex * mutex)
{
int retval = 0;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
if (mutex->cpp_mutex.try_lock() == false) {
@@ -97,7 +99,8 @@ int
SDL_mutexV(SDL_mutex * mutex)
{
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
SDL_SetError("Passed a NULL mutex");
return -1;
}
mutex->cpp_mutex.unlock();

View File

@@ -52,9 +52,11 @@ SDL_SYS_CreateThread(SDL_Thread * thread)
thread->handle = (void *) new std::thread(std::move(cpp_thread));
return 0;
} catch (std::system_error & ex) {
return SDL_SetError("unable to start a C++ thread: code=%d; %s", ex.code(), ex.what());
SDL_SetError("unable to start a C++ thread: code=%d; %s", ex.code(), ex.what());
return -1;
} catch (std::bad_alloc &) {
return SDL_OutOfMemory();
SDL_OutOfMemory();
return -1;
}
}

View File

@@ -84,7 +84,7 @@ int
SDL_CondSignal(SDL_cond * cond)
{
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
/* If there are waiting threads not already signalled, then
@@ -108,7 +108,7 @@ int
SDL_CondBroadcast(SDL_cond * cond)
{
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
/* If there are waiting threads not already signalled, then
@@ -164,7 +164,7 @@ SDL_CondWaitTimeout(SDL_cond * cond, SDL_mutex * mutex, Uint32 ms)
int retval;
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
/* Obtain the protection mutex, and increment the number of waiters.

View File

@@ -80,7 +80,7 @@ SDL_TryLockMutex(SDL_mutex * mutex)
#else
SceInt32 res = 0;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
res = sceKernelTryLockLwMutex(&mutex->lock, 1);
@@ -110,7 +110,7 @@ SDL_mutexP(SDL_mutex * mutex)
#else
SceInt32 res = 0;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
res = sceKernelLockLwMutex(&mutex->lock, 1, NULL);
@@ -132,7 +132,7 @@ SDL_mutexV(SDL_mutex * mutex)
SceInt32 res = 0;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
res = sceKernelUnlockLwMutex(&mutex->lock, 1);

View File

@@ -83,7 +83,7 @@ int SDL_SemWaitTimeout(SDL_sem *sem, Uint32 timeout)
unsigned int res;
if (sem == NULL) {
SDL_InvalidParamError("sem");
SDL_SetError("Passed a NULL sem");
return 0;
}
@@ -130,7 +130,7 @@ Uint32 SDL_SemValue(SDL_sem *sem)
info.size = sizeof(info);
if (sem == NULL) {
SDL_InvalidParamError("sem");
SDL_SetError("Passed a NULL sem");
return 0;
}
@@ -146,7 +146,7 @@ int SDL_SemPost(SDL_sem *sem)
int res;
if (sem == NULL) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL sem");
}
res = sceKernelSignalSema(sem->semid, 1);

View File

@@ -109,7 +109,7 @@ SDL_CondSignal_cv(SDL_cond * _cond)
{
SDL_cond_cv *cond = (SDL_cond_cv *)_cond;
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
pWakeConditionVariable(&cond->cond);
@@ -122,7 +122,7 @@ SDL_CondBroadcast_cv(SDL_cond * _cond)
{
SDL_cond_cv *cond = (SDL_cond_cv *)_cond;
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
pWakeAllConditionVariable(&cond->cond);
@@ -138,10 +138,10 @@ SDL_CondWaitTimeout_cv(SDL_cond * _cond, SDL_mutex * _mutex, Uint32 ms)
int ret;
if (!cond) {
return SDL_InvalidParamError("cond");
return SDL_SetError("Passed a NULL condition variable");
}
if (!_mutex) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
if (ms == SDL_MUTEX_MAXWAIT) {

View File

@@ -88,7 +88,7 @@ SDL_LockMutex_srw(SDL_mutex * _mutex)
DWORD this_thread;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
this_thread = GetCurrentThreadId();
@@ -115,7 +115,7 @@ SDL_TryLockMutex_srw(SDL_mutex * _mutex)
int retval = 0;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
this_thread = GetCurrentThreadId();
@@ -139,7 +139,7 @@ SDL_UnlockMutex_srw(SDL_mutex * _mutex)
SDL_mutex_srw *mutex = (SDL_mutex_srw *)_mutex;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
if (mutex->owner == GetCurrentThreadId()) {
@@ -208,7 +208,7 @@ SDL_LockMutex_cs(SDL_mutex * mutex_)
{
SDL_mutex_cs *mutex = (SDL_mutex_cs *)mutex_;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
EnterCriticalSection(&mutex->cs);
@@ -222,7 +222,7 @@ SDL_TryLockMutex_cs(SDL_mutex * mutex_)
SDL_mutex_cs *mutex = (SDL_mutex_cs *)mutex_;
int retval = 0;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
if (TryEnterCriticalSection(&mutex->cs) == 0) {
@@ -237,7 +237,7 @@ SDL_UnlockMutex_cs(SDL_mutex * mutex_)
{
SDL_mutex_cs *mutex = (SDL_mutex_cs *)mutex_;
if (mutex == NULL) {
return SDL_InvalidParamError("mutex");
return SDL_SetError("Passed a NULL mutex");
}
LeaveCriticalSection(&mutex->cs);

View File

@@ -122,7 +122,7 @@ SDL_SemTryWait_atom(SDL_sem * _sem)
LONG count;
if (!sem) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL sem");
}
count = sem->count;
@@ -144,7 +144,7 @@ SDL_SemWait_atom(SDL_sem * _sem)
LONG count;
if (!sem) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL sem");
}
for (;;) {
@@ -176,7 +176,7 @@ SDL_SemWaitTimeout_atom(SDL_sem * _sem, Uint32 timeout)
}
if (!sem) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL sem");
}
/**
@@ -219,7 +219,7 @@ SDL_SemValue_atom(SDL_sem * _sem)
SDL_sem_atom *sem = (SDL_sem_atom *)_sem;
if (!sem) {
SDL_InvalidParamError("sem");
SDL_SetError("Passed a NULL sem");
return 0;
}
@@ -232,7 +232,7 @@ SDL_SemPost_atom(SDL_sem * _sem)
SDL_sem_atom *sem = (SDL_sem_atom *)_sem;
if (!sem) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL sem");
}
InterlockedIncrement(&sem->count);
@@ -313,7 +313,7 @@ SDL_SemWaitTimeout_kern(SDL_sem * _sem, Uint32 timeout)
DWORD dwMilliseconds;
if (!sem) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL sem");
}
if (timeout == SDL_MUTEX_MAXWAIT) {
@@ -354,7 +354,7 @@ SDL_SemValue_kern(SDL_sem * _sem)
{
SDL_sem_kern *sem = (SDL_sem_kern *)_sem;
if (!sem) {
SDL_InvalidParamError("sem");
SDL_SetError("Passed a NULL sem");
return 0;
}
return (Uint32)sem->count;
@@ -365,7 +365,7 @@ SDL_SemPost_kern(SDL_sem * _sem)
{
SDL_sem_kern *sem = (SDL_sem_kern *)_sem;
if (!sem) {
return SDL_InvalidParamError("sem");
return SDL_SetError("Passed a NULL sem");
}
/* Increase the counter in the first place, because
* after a successful release the semaphore may