Ubuntu Manpages

SDL_CreateThread

Create a new thread with a default stack size.

#include <SDL3/SDL_thread.h>
SDL_Thread * SDL_CreateThread(SDL_ThreadFunction fn, const char *name, void *data);

This is a convenience function, equivalent to calling SDL_CreateThreadWithProperties with the following properties set:

SDL_PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER: fn

SDL_PROP_THREAD_CREATE_NAME_STRING: name

SDL_PROP_THREAD_CREATE_USERDATA_POINTER: data

Note that this "function" is actually a macro that calls an internal function with two extra parameters not listed here; they are hidden through preprocessor macros and are needed to support various C runtimes at the point of the function call. Language bindings that aren't using the C headers will need to deal with this.

Usually, apps should just call this function the same way on every platform and let the macros hide the details.

the SDL_ThreadFunction function to call in the new thread.
the name of the thread.
a pointer that is passed to fn.

Returns an opaque pointer to the new thread object on success, NULL if the new thread could not be created; call SDL_GetError() for more information.

It is safe to call this function from any thread.

This function is available since SDL 3.2.0.

SDL_CreateThreadWithProperties(3), SDL_WaitThread(3)