Skip to content
Snippets Groups Projects
Select Git revision
  • 2609745b51e41ccd5ee6ea186ef051b3d9dfabc2
  • next default protected
  • issue1175
  • issue1230
  • 1239
  • slotlessSounds
  • issue1157
  • issue1151
  • toughergoowater
  • issue1150c
  • issue1150
  • issue1170
  • issue1184
  • issue299
  • issue167
  • issue912
  • netcode-refactor
  • fix-hurtmsg-hook
  • udmf-triggerer
  • specialstagepit-fix
  • gamepadtweaks
  • SRB2_release_2.2.10
  • SRB2_release_2.2.9
  • SRB2_release_2.2.8
  • SRB2_release_2.2.7
  • SRB2_release_2.2.6
  • SRB2_release_2.2.5
  • SRB2_release_2.2.4
  • SRB2_release_2.2.3
  • SRB2_release_2.2.2
  • SRB2_release_2.2.1
  • SRB2_release_2.2.0
  • SRB2_release_2.1.25
  • SRB2_release_2.1.24
  • SRB2_release_2.1.23
  • SRB2_release_2.1.22
  • SRB2_release_2.1.21
  • SRB2_release_2.1.20
  • SRB2_release_2.1.19
  • SRB2_release_2.1.18
  • td-release-v1.0.0
41 results

Srb2.dev

Blame
  • Forked from STJr / SRB2
    Source project has a limited visibility.
    i_threads.h NaN GiB
    // SONIC ROBO BLAST 2
    //-----------------------------------------------------------------------------
    // Copyright (C) 2020-2023 by James R.
    //
    // This program is free software distributed under the
    // terms of the GNU General Public License, version 2.
    // See the 'LICENSE' file for more details.
    //-----------------------------------------------------------------------------
    /// \file  i_threads.h
    /// \brief Multithreading abstraction
    
    #ifdef HAVE_THREADS
    
    #ifndef I_THREADS_H
    #define I_THREADS_H
    
    typedef void (*I_thread_fn)(void *userdata);
    
    typedef void * I_mutex;
    typedef void * I_cond;
    
    void      I_start_threads (void);
    void      I_stop_threads  (void);
    
    void      I_spawn_thread (const char *name, I_thread_fn, void *userdata);
    
    /* check in your thread whether to return early */
    int       I_thread_is_stopped (void);
    
    void      I_lock_mutex      (I_mutex *);
    void      I_unlock_mutex    (I_mutex);
    
    void      I_hold_cond       (I_cond *, I_mutex);
    
    void      I_wake_one_cond   (I_cond *);
    void      I_wake_all_cond   (I_cond *);
    
    #endif/*I_THREADS_H*/
    #endif/*HAVE_THREADS*/