Sha256: 26647d1bee560047b56c5b82b1d91b5e37d6994f2d1fb29249c1c3034e4e2e59

Contents?: true

Size: 1.19 KB

Versions: 870

Compression:

Stored size: 1.19 KB

Contents

/**********************************************************************

  thread_pthread.h -

  $Author: ko1 $

  Copyright (C) 2004-2007 Koichi Sasada

**********************************************************************/

#ifndef RUBY_THREAD_PTHREAD_H
#define RUBY_THREAD_PTHREAD_H

#include <pthread.h>
#ifdef HAVE_PTHREAD_NP_H
#include <pthread_np.h>
#endif
typedef pthread_t rb_nativethread_id_t;
typedef pthread_mutex_t rb_nativethread_lock_t;

typedef struct rb_thread_cond_struct {
    pthread_cond_t cond;
#ifdef HAVE_CLOCKID_T
    clockid_t clockid;
#endif
} rb_nativethread_cond_t;

typedef struct native_thread_data_struct {
    void *signal_thread_list;
    rb_nativethread_cond_t sleep_cond;
} native_thread_data_t;

#include <semaphore.h>

#undef except
#undef try
#undef leave
#undef finally

typedef struct rb_global_vm_lock_struct {
    /* fast path */
    unsigned long acquired;
    pthread_mutex_t lock;

    /* slow path */
    volatile unsigned long waiting;
    rb_nativethread_cond_t cond;

    /* yield */
    rb_nativethread_cond_t switch_cond;
    rb_nativethread_cond_t switch_wait_cond;
    int need_yield;
    int wait_yield;
} rb_global_vm_lock_t;

#endif /* RUBY_THREAD_PTHREAD_H */

Version data entries

870 entries across 86 versions & 6 rubygems

Version Path
avalara_sdk-24.12.2 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-3.4.1/lib/debase/ruby_core_source/ruby-2.1.9-p490/thread_pthread.h
avalara_sdk-24.12.2 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-0.10.16/lib/debase/ruby_core_source/ruby-2.1.9-p490/thread_pthread.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-2.1.5-p273/thread_pthread.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-2.1.3-p242/thread_pthread.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-2.1.4-p265/thread_pthread.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-2.1.10-p492/thread_pthread.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-2.1.6-p336/thread_pthread.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-2.1.0-p0/thread_pthread.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-2.1.7-p400/thread_pthread.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-2.1.1-p76/thread_pthread.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-2.1.2-p95/thread_pthread.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-2.1.8-p440/thread_pthread.h
debase-ruby_core_source-3.4.1 lib/debase/ruby_core_source/ruby-2.1.9-p490/thread_pthread.h
debase-ruby_core_source-3.4.0 lib/debase/ruby_core_source/ruby-2.1.10-p492/thread_pthread.h
debase-ruby_core_source-3.4.0 lib/debase/ruby_core_source/ruby-2.1.2-p95/thread_pthread.h
debase-ruby_core_source-3.4.0 lib/debase/ruby_core_source/ruby-2.1.1-p76/thread_pthread.h
debase-ruby_core_source-3.4.0 lib/debase/ruby_core_source/ruby-2.1.3-p242/thread_pthread.h
debase-ruby_core_source-3.4.0 lib/debase/ruby_core_source/ruby-2.1.0-p0/thread_pthread.h
debase-ruby_core_source-3.4.0 lib/debase/ruby_core_source/ruby-2.1.4-p265/thread_pthread.h
debase-ruby_core_source-3.4.0 lib/debase/ruby_core_source/ruby-2.1.8-p440/thread_pthread.h