github.com/Konstantin8105/c4go@v0.0.0-20240505174241-768bb1c65a51/tests/raylib/external/glfw/src/posix_thread.h (about)

     1  //========================================================================
     2  // GLFW 3.4 POSIX - www.glfw.org
     3  //------------------------------------------------------------------------
     4  // Copyright (c) 2002-2006 Marcus Geelnard
     5  // Copyright (c) 2006-2017 Camilla Löwy <elmindreda@glfw.org>
     6  //
     7  // This software is provided 'as-is', without any express or implied
     8  // warranty. In no event will the authors be held liable for any damages
     9  // arising from the use of this software.
    10  //
    11  // Permission is granted to anyone to use this software for any purpose,
    12  // including commercial applications, and to alter it and redistribute it
    13  // freely, subject to the following restrictions:
    14  //
    15  // 1. The origin of this software must not be misrepresented; you must not
    16  //    claim that you wrote the original software. If you use this software
    17  //    in a product, an acknowledgment in the product documentation would
    18  //    be appreciated but is not required.
    19  //
    20  // 2. Altered source versions must be plainly marked as such, and must not
    21  //    be misrepresented as being the original software.
    22  //
    23  // 3. This notice may not be removed or altered from any source
    24  //    distribution.
    25  //
    26  //========================================================================
    27  
    28  #include <pthread.h>
    29  
    30  #define GLFW_POSIX_TLS_STATE    _GLFWtlsPOSIX   posix;
    31  #define GLFW_POSIX_MUTEX_STATE  _GLFWmutexPOSIX posix;
    32  
    33  
    34  // POSIX-specific thread local storage data
    35  //
    36  typedef struct _GLFWtlsPOSIX
    37  {
    38      GLFWbool        allocated;
    39      pthread_key_t   key;
    40  } _GLFWtlsPOSIX;
    41  
    42  // POSIX-specific mutex data
    43  //
    44  typedef struct _GLFWmutexPOSIX
    45  {
    46      GLFWbool        allocated;
    47      pthread_mutex_t handle;
    48  } _GLFWmutexPOSIX;
    49