This repository has been archived by the owner on Feb 11, 2021. It is now read-only.
/
SDL_systhread.c
67 lines (54 loc) · 1.58 KB
1
2
/*
SDL - Simple DirectMedia Layer
3
Copyright (C) 1997-2006 Sam Lantinga
4
5
This library is free software; you can redistribute it and/or
6
modify it under the terms of the GNU Lesser General Public
7
License as published by the Free Software Foundation; either
8
version 2.1 of the License, or (at your option) any later version.
9
10
11
12
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
13
Lesser General Public License for more details.
14
15
16
17
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
18
19
20
21
Sam Lantinga
slouken@libsdl.org
*/
22
#include "SDL_config.h"
23
24
25
26
/* Thread management routines for SDL */
#include "SDL_thread.h"
27
#include "../SDL_thread_c.h"
28
#include "../SDL_systhread.h"
29
30
31
#include <kos/thread.h>
32
33
int
SDL_SYS_CreateThread(SDL_Thread * thread, void *args)
34
{
35
36
37
38
39
40
thread->handle = thd_create(SDL_RunThread, args);
if (thread->handle == NULL) {
SDL_SetError("Not enough resources to create thread");
return (-1);
}
return (0);
41
42
}
43
44
void
SDL_SYS_SetupThread(void)
45
{
46
return;
47
48
}
49
50
Uint32
SDL_ThreadID(void)
51
{
52
return (Uint32) thd_get_current();
53
54
}
55
56
void
SDL_SYS_WaitThread(SDL_Thread * thread)
57
{
58
thd_wait(thread->handle);
59
60
}
61
62
void
SDL_SYS_KillThread(SDL_Thread * thread)
63
{
64
thd_destroy(thread->handle);
65
}
66
67
/* vi: set ts=4 sw=4 expandtab: */