src/thread/SDL_systhread.h
author Sam Lantinga
Fri, 25 Mar 2011 12:44:06 -0700
changeset 5509 5b1b4d820d10
parent 5506 82a09d5d0f07
child 5535 96594ac5fd1a
permissions -rw-r--r--
The API sets the priority for the current thread, not an arbitrary thread.

Implemented thread priority as the 'nice' value on Linux. High priority threads require root permissions (you shouldn't give your game root permissions though!)
     1 /*
     2     SDL - Simple DirectMedia Layer
     3     Copyright (C) 1997-2011 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     This library is distributed in the hope that it will be useful,
    11     but WITHOUT ANY WARRANTY; without even the implied warranty of
    12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    13     Lesser General Public License for more details.
    14 
    15     You should have received a copy of the GNU Lesser General Public
    16     License along with this library; if not, write to the Free Software
    17     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    18 
    19     Sam Lantinga
    20     slouken@libsdl.org
    21 */
    22 #include "SDL_config.h"
    23 
    24 /* These are functions that need to be implemented by a port of SDL */
    25 
    26 #ifndef _SDL_systhread_h
    27 #define _SDL_systhread_h
    28 
    29 #include "SDL_thread.h"
    30 
    31 /* This function creates a thread, passing args to SDL_RunThread(),
    32    saves a system-dependent thread id in thread->id, and returns 0
    33    on success.
    34 */
    35 #ifdef SDL_PASSED_BEGINTHREAD_ENDTHREAD
    36 extern int SDL_SYS_CreateThread(SDL_Thread * thread, void *args,
    37                                 pfnSDL_CurrentBeginThread pfnBeginThread,
    38                                 pfnSDL_CurrentEndThread pfnEndThread);
    39 #else
    40 extern int SDL_SYS_CreateThread(SDL_Thread * thread, void *args);
    41 #endif
    42 
    43 /* This function does any necessary setup in the child thread */
    44 extern void SDL_SYS_SetupThread(void);
    45 
    46 /* This function sets the current thread priority */
    47 extern int SDL_SYS_SetThreadPriority(SDL_ThreadPriority priority);
    48 
    49 /* This function waits for the thread to finish and frees any data
    50    allocated by SDL_SYS_CreateThread()
    51  */
    52 extern void SDL_SYS_WaitThread(SDL_Thread * thread);
    53 
    54 #endif /* _SDL_systhread_h */
    55 
    56 /* vi: set ts=4 sw=4 expandtab: */