SDL-1.2: Merge pull request #849 from ccawley2011/riscos-old-threads

From c3ac4103b1fe8ae53dd698fdde7b7632a79fce07 Mon Sep 17 00:00:00 2001
From: Cameron Cawley <[EMAIL REDACTED]>
Date: Thu, 9 Sep 2021 21:29:03 +0100
Subject: [PATCH] Removed unused RISC OS threading code

---
 src/thread/riscos/SDL_syscond.c     | 160 ----------------------
 src/thread/riscos/SDL_sysmutex.c    | 153 ---------------------
 src/thread/riscos/SDL_sysmutex_c.h  |  34 -----
 src/thread/riscos/SDL_syssem.c      | 203 ----------------------------
 src/thread/riscos/SDL_systhread.c   | 144 --------------------
 src/thread/riscos/SDL_systhread_c.h |  34 -----
 src/video/riscos/SDL_riscosevents.c |   2 +-
 7 files changed, 1 insertion(+), 729 deletions(-)
 delete mode 100644 src/thread/riscos/SDL_syscond.c
 delete mode 100644 src/thread/riscos/SDL_sysmutex.c
 delete mode 100644 src/thread/riscos/SDL_sysmutex_c.h
 delete mode 100644 src/thread/riscos/SDL_syssem.c
 delete mode 100644 src/thread/riscos/SDL_systhread.c
 delete mode 100644 src/thread/riscos/SDL_systhread_c.h

diff --git a/src/thread/riscos/SDL_syscond.c b/src/thread/riscos/SDL_syscond.c
deleted file mode 100644
index ee5566647..000000000
--- a/src/thread/riscos/SDL_syscond.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
-    SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2012 Sam Lantinga
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-    Sam Lantinga
-    slouken@libsdl.org
-*/
-#include "SDL_config.h"
-
-/* RISC OS implementations uses pthreads based on linux code */
-
-#if SDL_THREADS_DISABLED
-#include "../generic/SDL_syscond.c"
-#else
-#include <sys/time.h>
-#include <unistd.h>
-#include <pthread.h>
-
-#include "SDL_thread.h"
-#include "SDL_sysmutex_c.h"
-
-struct SDL_cond
-{
-	pthread_cond_t cond;
-};
-
-/* Create a condition variable */
-SDL_cond * SDL_CreateCond(void)
-{
-	SDL_cond *cond;
-
-	cond = (SDL_cond *) SDL_malloc(sizeof(SDL_cond));
-	if ( cond ) {
-		if ( pthread_cond_init(&cond->cond, NULL) < 0 ) {
-			SDL_SetError("pthread_cond_init() failed");
-			SDL_free(cond);
-			cond = NULL;
-		}
-	}
-	return(cond);
-}
-
-/* Destroy a condition variable */
-void SDL_DestroyCond(SDL_cond *cond)
-{
-	if ( cond ) {
-		pthread_cond_destroy(&cond->cond);
-		SDL_free(cond);
-	}
-}
-
-/* Restart one of the threads that are waiting on the condition variable */
-int SDL_CondSignal(SDL_cond *cond)
-{
-	int retval;
-
-	if ( ! cond ) {
-		SDL_SetError("Passed a NULL condition variable");
-		return -1;
-	}
-
-	retval = 0;
-	if ( pthread_cond_signal(&cond->cond) != 0 ) {
-		SDL_SetError("pthread_cond_signal() failed");
-		retval = -1;
-	}
-	return retval;
-}
-
-/* Restart all threads that are waiting on the condition variable */
-int SDL_CondBroadcast(SDL_cond *cond)
-{
-	int retval;
-
-	if ( ! cond ) {
-		SDL_SetError("Passed a NULL condition variable");
-		return -1;
-	}
-
-	retval = 0;
-	if ( pthread_cond_broadcast(&cond->cond) != 0 ) {
-		SDL_SetError("pthread_cond_broadcast() failed");
-		retval = -1;
-	}
-	return retval;
-}
-
-int SDL_CondWaitTimeout(SDL_cond *cond, SDL_mutex *mutex, Uint32 ms)
-{
-	int retval;
-	struct timeval delta;
-	struct timespec abstime;
-
-	if ( ! cond ) {
-		SDL_SetError("Passed a NULL condition variable");
-		return -1;
-	}
-
-	gettimeofday(&delta, NULL);
-
-	abstime.tv_sec = delta.tv_sec + (ms/1000);
-	abstime.tv_nsec = (delta.tv_usec + (ms%1000) * 1000) * 1000;
-        if ( abstime.tv_nsec > 1000000000 ) {
-          abstime.tv_sec += 1;
-          abstime.tv_nsec -= 1000000000;
-        }
-
-  tryagain:
-	retval = pthread_cond_timedwait(&cond->cond, &mutex->id, &abstime);
-	switch (retval) {
-	    case EINTR:
-		goto tryagain;
-		break;
-	    case ETIMEDOUT:
-		retval = SDL_MUTEX_TIMEDOUT;
-		break;
-	    case 0:
-		break;
-	    default:
-		SDL_SetError("pthread_cond_timedwait() failed");
-		retval = -1;
-		break;
-	}
-	return retval;
-}
-
-/* Wait on the condition variable, unlocking the provided mutex.
-   The mutex must be locked before entering this function!
- */
-int SDL_CondWait(SDL_cond *cond, SDL_mutex *mutex)
-{
-	int retval;
-
-	if ( ! cond ) {
-		SDL_SetError("Passed a NULL condition variable");
-		return -1;
-	}
-
-	retval = 0;
-	if ( pthread_cond_wait(&cond->cond, &mutex->id) != 0 ) {
-		SDL_SetError("pthread_cond_wait() failed");
-		retval = -1;
-	}
-	return retval;
-}
-#endif
diff --git a/src/thread/riscos/SDL_sysmutex.c b/src/thread/riscos/SDL_sysmutex.c
deleted file mode 100644
index e9ac139b3..000000000
--- a/src/thread/riscos/SDL_sysmutex.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
-    SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2012 Sam Lantinga
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-    Sam Lantinga
-    slouken@libsdl.org
-*/
-#include "SDL_config.h"
-
-/* RISC OS implementations uses pthreads based on linux code */
-
-#include "SDL_thread.h"
-
-#if SDL_THREADS_DISABLED
-#include "../generic/SDL_sysmutex.c"
-#else
-
-#include <pthread.h>
-
-struct SDL_mutex {
-	pthread_mutex_t id;
-#if SDL_THREAD_PTHREAD_NO_RECURSIVE_MUTEX
-	int recursive;
-	pthread_t owner;
-#endif
-};
-
-SDL_mutex *SDL_CreateMutex (void)
-{
-	SDL_mutex *mutex;
-	pthread_mutexattr_t attr;
-
-	/* Allocate the structure */
-	mutex = (SDL_mutex *)SDL_calloc(1, sizeof(*mutex));
-	if ( mutex ) {
-		pthread_mutexattr_init(&attr);
-#if SDL_THREAD_PTHREAD_NO_RECURSIVE_MUTEX
-		/* No extra attributes necessary */
-#else
-		pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
-#endif /* SDL_THREAD_PTHREAD_NO_RECURSIVE_MUTEX */
-		if ( pthread_mutex_init(&mutex->id, &attr) != 0 ) {
-			SDL_SetError("pthread_mutex_init() failed");
-			SDL_free(mutex);
-			mutex = NULL;
-		}
-	} else {
-		SDL_OutOfMemory();
-	}
-	return(mutex);
-}
-
-void SDL_DestroyMutex(SDL_mutex *mutex)
-{
-	if ( mutex ) {
-		pthread_mutex_destroy(&mutex->id);
-		SDL_free(mutex);
-	}
-}
-
-/* Lock the mutex */
-int SDL_mutexP(SDL_mutex *mutex)
-{
-	int retval;
-#if SDL_THREAD_PTHREAD_NO_RECURSIVE_MUTEX
-	pthread_t this_thread;
-#endif
-
-	if ( mutex == NULL ) {
-		SDL_SetError("Passed a NULL mutex");
-		return -1;
-	}
-
-	retval = 0;
-#if SDL_THREAD_PTHREAD_NO_RECURSIVE_MUTEX
-	this_thread = pthread_self();
-	if ( mutex->owner == this_thread ) {
-		++mutex->recursive;
-	} else {
-		/* The order of operations is important.
-		   We set the locking thread id after we obtain the lock
-		   so unlocks from other threads will fail.
-		*/
-		if ( pthread_mutex_lock(&mutex->id) == 0 ) {
-			mutex->owner = this_thread;
-			mutex->recursive = 0;
-		} else {
-			SDL_SetError("pthread_mutex_lock() failed");
-			retval = -1;
-		}
-	}
-#else
-	if ( pthread_mutex_lock(&mutex->id) < 0 ) {
-		SDL_SetError("pthread_mutex_lock() failed");
-		retval = -1;
-	}
-#endif
-	return retval;
-}
-
-int SDL_mutexV(SDL_mutex *mutex)
-{
-	int retval;
-
-	if ( mutex == NULL ) {
-		SDL_SetError("Passed a NULL mutex");
-		return -1;
-	}
-
-	retval = 0;
-#if SDL_THREAD_PTHREAD_NO_RECURSIVE_MUTEX
-	/* We can only unlock the mutex if we own it */
-	if ( pthread_self() == mutex->owner ) {
-		if ( mutex->recursive ) {
-			--mutex->recursive;
-		} else {
-			/* The order of operations is important.
-			   First reset the owner so another thread doesn't lock
-			   the mutex and set the ownership before we reset it,
-			   then release the lock semaphore.
-			 */
-			mutex->owner = 0;
-			pthread_mutex_unlock(&mutex->id);
-		}
-	} else {
-		SDL_SetError("mutex not owned by this thread");
-		retval = -1;
-	}
-
-#else
-	if ( pthread_mutex_unlock(&mutex->id) < 0 ) {
-		SDL_SetError("pthread_mutex_unlock() failed");
-		retval = -1;
-	}
-#endif /* SDL_THREAD_PTHREAD_NO_RECURSIVE_MUTEX */
-
-	return retval;
-}
-#endif
diff --git a/src/thread/riscos/SDL_sysmutex_c.h b/src/thread/riscos/SDL_sysmutex_c.h
deleted file mode 100644
index 2391c3c10..000000000
--- a/src/thread/riscos/SDL_sysmutex_c.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-    SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2012 Sam Lantinga
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-    Sam Lantinga
-    slouken@libsdl.org
-*/
-#include "SDL_config.h"
-
-#ifndef _SDL_mutex_c_h
-#define _SDL_mutex_c_h
-
-#if !SDL_THREADS_DISABLED
-struct SDL_mutex {
-	pthread_mutex_t id;
-};
-#endif
-
-
-#endif /* _SDL_mutex_c_h */
diff --git a/src/thread/riscos/SDL_syssem.c b/src/thread/riscos/SDL_syssem.c
deleted file mode 100644
index 127211bf7..000000000
--- a/src/thread/riscos/SDL_syssem.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
-    SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2012 Sam Lantinga
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-    Sam Lantinga
-    slouken@libsdl.org
-*/
-
-#include <errno.h>
-
-#include "SDL_config.h"
-
-/* RISC OS semiphores based on linux code */
-
-
-#include "SDL_timer.h"
-#include "SDL_thread.h"
-#include "SDL_systhread_c.h"
-
-#if !SDL_THREADS_DISABLED
-
-SDL_sem *SDL_CreateSemaphore(Uint32 initial_value)
-{
-	SDL_SetError("SDL not configured with thread support");
-	return (SDL_sem *)0;
-}
-
-void SDL_DestroySemaphore(SDL_sem *sem)
-{
-	return;
-}
-
-int SDL_SemTryWait(SDL_sem *sem)
-{
-	SDL_SetError("SDL not configured with thread support");
-	return -1;
-}
-
-int SDL_SemWaitTimeout(SDL_sem *sem, Uint32 timeout)
-{
-	SDL_SetError("SDL not configured with thread support");
-	return -1;
-}
-
-int SDL_SemWait(SDL_sem *sem)
-{
-	SDL_SetError("SDL not configured with thread support");
-	return -1;
-}
-
-Uint32 SDL_SemValue(SDL_sem *sem)
-{
-	return 0;
-}
-
-int SDL_SemPost(SDL_sem *sem)
-{
-	SDL_SetError("SDL not configured with thread support");
-	return -1;
-}
-
-#else
-
-
-#include <unistd.h>			/* For getpid() */
-#include <pthread.h>
-#include <semaphore.h>
-
-struct SDL_semaphore {
-	sem_t *sem;
-	sem_t sem_data;
-};
-
-/* Create a semaphore, initialized with value */
-SDL_sem *SDL_CreateSemaphore(Uint32 initial_value)
-{
-	SDL_sem *sem = (SDL_sem *) SDL_malloc(sizeof(SDL_sem));
-	if ( sem ) {
-		if ( sem_init(&sem->sem_data, 0, initial_value) < 0 ) {
-			SDL_SetError("sem_init() failed");
-			SDL_free(sem);
-			sem = NULL;
-		} else {
-			sem->sem = &sem->sem_data;
-		}
-	} else {
-		SDL_OutOfMemory();
-	}
-	return sem;
-}
-
-void SDL_DestroySemaphore(SDL_sem *sem)
-{
-	if ( sem ) {
-		sem_destroy(sem->sem);
-		SDL_free(sem);
-	}
-}
-
-int SDL_SemTryWait(SDL_sem *sem)
-{
-	int retval;
-
-	if ( ! sem ) {
-		SDL_SetError("Passed a NULL semaphore");
-		return -1;
-	}
-	retval = SDL_MUTEX_TIMEDOUT;
-	if ( sem_trywait(sem->sem) == 0 ) {
-		retval = 0;
-	}
-	return retval;
-}
-
-int SDL_SemWait(SDL_sem *sem)
-{
-	int retval;
-
-	if ( ! sem ) {
-		SDL_SetError("Passed a NULL semaphore");
-		return -1;
-	}
-
-	while ( ((retval = sem_wait(sem->sem)) == -1) && (errno == EINTR) ) {}
-	if ( retval < 0 ) {
-		SDL_SetError("sem_wait() failed");
-	}
-	return retval;
-}
-
-int SDL_SemWaitTimeout(SDL_sem *sem, Uint32 timeout)
-{
-	int retval;
-
-	if ( ! sem ) {
-		SDL_SetError("Passed a NULL semaphore");
-		return -1;
-	}
-
-	/* Try the easy cases first */
-	if ( timeout == 0 ) {
-		return SDL_SemTryWait(sem);
-	}
-	if ( timeout == SDL_MUTEX_MAXWAIT ) {
-		return SDL_SemWait(sem);
-	}
-
-	/* Ack!  We have to busy wait... */
-	timeout += SDL_GetTicks();
-	do {
-		retval = SDL_SemTryWait(sem);
-		if ( retval == 0 ) {
-			break;
-		}
-		SDL_Delay(1);
-	} while ( SDL_GetTicks() < timeout );
-
-	return retval;
-}
-
-Uint32 SDL_SemValue(SDL_sem *sem)
-{
-	int ret = 0;
-	if ( sem ) {
-		sem_getvalue(sem->sem, &ret);
-		if ( ret < 0 ) {
-			ret = 0;
-		}
-	}
-	return (Uint32)ret;
-}
-
-int SDL_SemPost(SDL_sem *sem)
-{
-	int retval;
-
-	if ( ! sem ) {
-		SDL_SetError("Passed a NULL semaphore");
-		return -1;
-	}
-
-	retval = sem_post(sem->sem);
-	if ( retval < 0 ) {
-		SDL_SetError("sem_post() failed");
-	}
-	return retval;
-}
-
-#endif /* !SDL_THREADS_DISABLED */
diff --git a/src/thread/riscos/SDL_systhread.c b/src/thread/riscos/SDL_systhread.c
deleted file mode 100644
index 38fc333ae..000000000
--- a/src/thread/riscos/SDL_systhread.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
-    SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2012 Sam Lantinga
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-    Sam Lantinga
-    slouken@libsdl.org
-*/
-#include "SDL_config.h"
-
-/* RISC OS version based on pthreads linux source */
-
-#include "SDL_thread.h"
-#include "../SDL_systhread.h"
-
-#if SDL_THREADS_DISABLED
-
-int SDL_SYS_CreateThread(SDL_Thread *thread, void *args)
-{
-	SDL_SetError("Threads have not been compiled into this version of the library");
-	return(-1);
-}
-
-void SDL_SYS_SetupThread(void)
-{
-	return;
-}
-
-Uint32 SDL_ThreadID(void)
-{
-	return(0);
-}
-
-void SDL_SYS_WaitThread(SDL_Thread *thread)
-{
-	return;
-}
-
-void SDL_SYS_KillThread(SDL_Thread *thread)
-{
-	return;
-}
-
-#else
-
-#include <signal.h>
-
-/* List of signals to mask in the subthreads */
-static int sig_list[] = {
-	SIGHUP, SIGINT, SIGQUIT, SIGPIPE, SIGALRM, SIGTERM, SIGCHLD, SIGWINCH,
-	SIGVTALRM, SIGPROF, 0
-};
-
-#include <pthread.h>
-
-int riscos_using_threads = 0;
-Uint32 riscos_main_thread = 0; /* Thread running events */
-
-static void *RunThread(void *data)
-{
-	SDL_RunThread(data);
-	pthread_exit((void*)0);
-	return((void *)0);		/* Prevent compiler warning */
-}
-
-int SDL_SYS_CreateThread(SDL_Thread *thread, void *args)
-{
-	pthread_attr_t type;
-
-	/* Set the thread attributes */
-	if ( pthread_attr_init(&type) != 0 ) {
-		SDL_SetError("Couldn't initialize pthread attributes");
-		return(-1);
-	}
-	pthread_attr_setdetachstate(&type, PTHREAD_CREATE_JOINABLE);
-
-	/* Create the thread and go! */
-	if ( pthread_create(&thread->handle, &type, RunThread, args) != 0 ) {
-		SDL_SetError("Not enough resources to create thread");
-		return(-1);
-	}
-
-        if (riscos_using_threads == 0)
-        {
-           riscos_using_threads = 1;
-           riscos_main_thread = SDL_ThreadID();
-        }
-      
-	return(0);
-}
-
-void SDL_SYS_SetupThread(void)
-{
-	int i;
-	sigset_t mask;
-
-	/* Mask asynchronous signals for this thread */
-	sigemptyset(&mask);
-	for ( i=0; sig_list[i]; ++i ) {
-		sigaddset(&mask, sig_list[i]);
-	}
-	pthread_sigmask(SIG_BLOCK, &mask, 0);
-	
-#ifdef PTHREAD_CANCEL_ASYNCHRONOUS
-	/* Allow ourselves to be asynchronously cancelled */
-	{ int oldstate;
-		pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldstate);
-	}
-#endif
-}
-
-Uint32 SDL_ThreadID(void)
-{
-	return((Uint32)pthread_self());
-}
-
-void SDL_SYS_WaitThread(SDL_Thread *thread)
-{
-	pthread_join(thread->handle, 0);
-}
-
-void SDL_SYS_KillThread(SDL_Thread *thread)
-{
-#ifdef PTHREAD_CANCEL_ASYNCHRONOUS
-	pthread_cancel(thread->handle);
-#else
-	pthread_kill(thread->handle, SIGKILL);
-#endif
-}
-
-#endif
diff --git a/src/thread/riscos/SDL_systhread_c.h b/src/thread/riscos/SDL_systhread_c.h
deleted file mode 100644
index 9e1d2c8c5..000000000
--- a/src/thread/riscos/SDL_systhread_c.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-    SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2012 Sam Lantinga
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Library General Public License for more details.
-
-    You should have received a copy of the GNU Library General Public
-    License along with this library; if not, write to the Free
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-    Sam Lantinga
-    slouken@libsdl.org
-*/
-#include "SDL_config.h"
-
-#if SDL_THREADS_DISABLED
-
-typedef int SYS_ThreadHandle;
-
-#else
-
-#include <pthread.h>
-
-typedef pthread_t SYS_ThreadHandle;
-
-#endif
diff --git a/src/video/riscos/SDL_riscosevents.c b/src/video/riscos/SDL_riscosevents.c
index 1aa74a26c..f94a74488 100644
--- a/src/video/riscos/SDL_riscosevents.c
+++ b/src/video/riscos/SDL_riscosevents.c
@@ -84,7 +84,7 @@ static SDL_keysym *TranslateKey(int intkey, SDL_keysym *keysym, int pressed);
 static void RISCOS_PollMouse(_THIS);
 static void RISCOS_PollMouseHelper(_THIS, int fullscreen);
 
-#if !SDL_THREAD_DISABLED
+#if !SDL_THREADS_DISABLED
 extern int riscos_using_threads;
 #endif