Files
radiantwave/archive/vendor/github.com/veandco/go-sdl2/sdl/system_linux.go
T
2026-08-07 14:51:41 -05:00

58 lines
1.5 KiB
Go

// +build !android
package sdl
/*
#include "sdl_wrapper.h"
#if !(SDL_VERSION_ATLEAST(2,0,9))
#if defined(WARN_OUTDATED)
#pragma message("SDL_LinuxSetThreadPriority is not supported before SDL 2.0.9")
#endif
static int SDL_LinuxSetThreadPriority(Sint64 threadID, int priority)
{
return -1;
}
#endif
#if !(SDL_VERSION_ATLEAST(2,0,18))
#if defined(WARN_OUTDATED)
#pragma message("SDL_LinuxSetThreadPriorityAndPolicy is not supported before SDL 2.0.18")
#endif
static int SDL_LinuxSetThreadPriorityAndPolicy(Sint64 threadID, int sdlPriority, int schedPolicy)
{
return -1;
}
#endif
*/
import "C"
// LinuxSetThreadPriority sets the UNIX nice value for a thread.
//
// This uses setpriority() if possible, and RealtimeKit if available.
//
// (https://wiki.libsdl.org/SDL_LinuxSetThreadPriority)
func LinuxSetThreadPriority(threadID int64, priority int) (err error) {
_threadID := C.Sint64(threadID)
_priority := C.int(priority)
return errorFromInt(int(C.SDL_LinuxSetThreadPriority(_threadID, _priority)))
}
// LinuxSetThreadPriority sets the priority (not nice level) and scheduling policy for a thread.
//
// This uses setpriority() if possible, and RealtimeKit if available.
//
// (https://wiki.libsdl.org/SDL_LinuxSetThreadPriorityAndPolicy)
func LinuxSetThreadPriorityAndPolicy(threadID int64, sdlPriority, schedPolicy int) (err error) {
_threadID := C.Sint64(threadID)
_sdlPriority := C.int(sdlPriority)
_schedPolicy := C.int(schedPolicy)
return errorFromInt(int(C.SDL_LinuxSetThreadPriorityAndPolicy(_threadID, _sdlPriority, _schedPolicy)))
}