Función SDL_DetachThread
Sintaxis
void SDL_DetachThread(SDL_Thread * thread);
Descripción
Dejar que un hilo se limpie al salir sin intervención.
Parámetros
- thread
- El puntero SDL_Thread que fue devuelto por la llamada SDL_CreateThread() que inició este hilo.
Valor de retorno
Devuelve 0 si tiene éxito o un código de error negativo si falla. Ver SDL_GetError.
Observaciones
Un hilo puede ser "separado" para indicar que no debe permanecer hasta que otro hilo haya llamado a SDL_WaitThread() sobre él. Separar un hilo es útil para hilos de larga duración con los que nada necesita sincronizarse o gestionarse. Cuando un hilo separado termina, simplemente desaparece.
No hay forma de recuperar el código de retorno de un hilo separado. Si necesita esto, no se debe separar el hilo y en su lugar utilizar SDL_WaitThread().
Una vez que un hilo es desacoplado, se debería asumir que SDL_Thread no es seguro para referenciarlo de nuevo, ya que se volverá inválido inmediatamente después de la salida del hilo desacoplado, en lugar de permanecer hasta que alguien haya llamado a SDL_WaitThread() para finalmente limpiarlo. Por lo tanto, no se debe separar el mismo hilo más de una vez.
Si un hilo ya ha salido cuando se pasa a SDL_DetachThread(), dejará de esperar una llamada a SDL_WaitThread() y se limpiará inmediatamente. No es seguro separar un hilo que pueda ser usado con SDL_WaitThread().
No se puede llamar a SDL_WaitThread() en un hilo que ha sido separado. Se debe usar esa función o ésta, pero no ambas, o el comportamiento será indefinido.
Es seguro pasar NULL a esta función; es un no-op.