Kaynağa Gözat

thread: fix inconsistent return values
- SDL_CreateMutex returns NULL when the creation fails (ngage)
- SDL_SemValue returns 0 when the semaphore is NULL (n3ds)

(cherry picked from commit 6875e1c262ae968a4fb52b367cf6912d9c76d4c9)

pionere 2 yıl önce
ebeveyn
işleme
fcd7d658dc

+ 2 - 1
src/thread/n3ds/SDL_syssem.c

@@ -114,7 +114,8 @@ Uint32
 SDL_SemValue(SDL_sem *sem)
 {
     if (sem == NULL) {
-        return SDL_InvalidParamError("sem");
+        SDL_InvalidParamError("sem");
+        return 0;
     }
     return sem->semaphore.current_count;
 }

+ 1 - 0
src/thread/ngage/SDL_sysmutex.cpp

@@ -48,6 +48,7 @@ SDL_CreateMutex(void)
     TInt status = CreateUnique(NewMutex, &rmutex, NULL);
     if (status != KErrNone) {
         SDL_SetError("Couldn't create mutex.");
+        return NULL;
     }
     SDL_mutex* mutex = new /*(ELeave)*/ SDL_mutex;
     mutex->handle = rmutex.Handle();