From 9cd2e9ec8fc0127393dfce9c0359d500c8c238be Mon Sep 17 00:00:00 2001
From: Edward Rudd <urkle@outoforder.cc>
Date: Tue, 09 Apr 2019 02:22:50 +0000
Subject: [PATCH] updae source to 2.0.9 source
---
source/test/testthread.c | 32 ++++++++++++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/source/test/testthread.c b/source/test/testthread.c
index cdccfc4..4555a1e 100644
--- a/source/test/testthread.c
+++ b/source/test/testthread.c
@@ -20,6 +20,7 @@
static SDL_TLSID tls;
static int alive = 0;
+static int testprio = 0;
/* Call this instead of exit(), so we can clean up SDL: atexit() is evil. */
static void
@@ -29,14 +30,37 @@
exit(rc);
}
+static const char *
+getprioritystr(SDL_ThreadPriority priority)
+{
+ switch(priority)
+ {
+ case SDL_THREAD_PRIORITY_LOW: return "SDL_THREAD_PRIORITY_LOW";
+ case SDL_THREAD_PRIORITY_NORMAL: return "SDL_THREAD_PRIORITY_NORMAL";
+ case SDL_THREAD_PRIORITY_HIGH: return "SDL_THREAD_PRIORITY_HIGH";
+ case SDL_THREAD_PRIORITY_TIME_CRITICAL: return "SDL_THREAD_PRIORITY_TIME_CRITICAL";
+ }
+
+ return "???";
+}
+
int SDLCALL
ThreadFunc(void *data)
{
+ SDL_ThreadPriority prio = SDL_THREAD_PRIORITY_NORMAL;
+
SDL_TLSSet(tls, "baby thread", NULL);
SDL_Log("Started thread %s: My thread id is %lu, thread data = %s\n",
(char *) data, SDL_ThreadID(), (const char *)SDL_TLSGet(tls));
while (alive) {
SDL_Log("Thread '%s' is alive!\n", (char *) data);
+
+ if (testprio) {
+ SDL_Log("SDL_SetThreadPriority(%s):%d\n", getprioritystr(prio), SDL_SetThreadPriority(prio));
+ if (++prio > SDL_THREAD_PRIORITY_TIME_CRITICAL)
+ prio = SDL_THREAD_PRIORITY_LOW;
+ }
+
SDL_Delay(1 * 1000);
}
SDL_Log("Thread '%s' exiting!\n", (char *) data);
@@ -55,6 +79,7 @@
int
main(int argc, char *argv[])
{
+ int arg = 1;
SDL_Thread *thread;
/* Enable standard application logging */
@@ -66,6 +91,13 @@
return (1);
}
+ while (argv[arg] && *argv[arg] == '-') {
+ if (SDL_strcmp(argv[arg], "--prio") == 0) {
+ testprio = 1;
+ }
+ ++arg;
+ }
+
tls = SDL_TLSCreate();
SDL_assert(tls);
SDL_TLSSet(tls, "main thread", NULL);
--
Gitblit v1.9.3