$91 GRAYBYTE WORDPRESS FILE MANAGER $95

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/opt/alt/ruby30/include/ruby/

HOME
Current File : /opt/alt/ruby30/include/ruby//thread_native.h
#ifndef RUBY_THREAD_NATIVE_H                         /*-*-C++-*-vi:se ft=cpp:*/
#define RUBY_THREAD_NATIVE_H 1
/**
 * @file
 * @author     $Author: ko1 $
 * @date       Wed May 14 19:37:31 2014
 * @copyright  Copyright (C) 2014 Yukihiro Matsumoto
 * @copyright  This  file  is   a  part  of  the   programming  language  Ruby.
 *             Permission  is hereby  granted,  to  either redistribute  and/or
 *             modify this file, provided that  the conditions mentioned in the
 *             file COPYING are met.  Consult the file for details.
 */

/*
 * This file contains wrapper APIs for native thread primitives
 * which Ruby interpreter uses.
 *
 * Now, we only support pthread and Windows threads.
 *
 * If you want to use Ruby's Mutex and so on to synchronize Ruby Threads,
 * please use Mutex directly.
 */


#if defined(_WIN32)
#include <windows.h>
typedef HANDLE rb_nativethread_id_t;

typedef union rb_thread_lock_union {
    HANDLE mutex;
    CRITICAL_SECTION crit;
} rb_nativethread_lock_t;

typedef struct rb_thread_cond_struct rb_nativethread_cond_t;

#elif defined(HAVE_PTHREAD_H)

#include <pthread.h>
typedef pthread_t rb_nativethread_id_t;
typedef pthread_mutex_t rb_nativethread_lock_t;
typedef pthread_cond_t rb_nativethread_cond_t;

#else
#error "unsupported thread type"

#endif

RUBY_SYMBOL_EXPORT_BEGIN

rb_nativethread_id_t rb_nativethread_self();

void rb_nativethread_lock_initialize(rb_nativethread_lock_t *lock);
void rb_nativethread_lock_destroy(rb_nativethread_lock_t *lock);
void rb_nativethread_lock_lock(rb_nativethread_lock_t *lock);
void rb_nativethread_lock_unlock(rb_nativethread_lock_t *lock);

void rb_native_mutex_lock(rb_nativethread_lock_t *lock);
int  rb_native_mutex_trylock(rb_nativethread_lock_t *lock);
void rb_native_mutex_unlock(rb_nativethread_lock_t *lock);
void rb_native_mutex_initialize(rb_nativethread_lock_t *lock);
void rb_native_mutex_destroy(rb_nativethread_lock_t *lock);

void rb_native_cond_signal(rb_nativethread_cond_t *cond);
void rb_native_cond_broadcast(rb_nativethread_cond_t *cond);
void rb_native_cond_wait(rb_nativethread_cond_t *cond, rb_nativethread_lock_t *mutex);
void rb_native_cond_timedwait(rb_nativethread_cond_t *cond, rb_nativethread_lock_t *mutex, unsigned long msec);
void rb_native_cond_initialize(rb_nativethread_cond_t *cond);
void rb_native_cond_destroy(rb_nativethread_cond_t *cond);

RUBY_SYMBOL_EXPORT_END

#endif


Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
1 Jan 1970 12.00 AM
root / root
0
backward
--
17 Jul 2024 8.46 AM
root / linksafe
0755
internal
--
17 Jul 2024 8.46 AM
root / linksafe
0755
assert.h
7.539 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
atomic.h
8.86 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
backward.h
2.576 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
config-x86_64.h
12.811 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
config.h
1.187 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
debug.h
4.503 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
defines.h
2.489 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
digest.h
1.69 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
encoding.h
17.971 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
intern.h
2.338 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
io.h
5.52 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
memory_view.h
6.306 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
missing.h
5.548 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
onigmo.h
43.611 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
oniguruma.h
0.256 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
ractor.h
2.095 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
random.h
2.921 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
re.h
1.155 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
regex.h
0.996 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
ruby.h
4.996 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
st.h
7.388 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
subst.h
0.796 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
thread.h
1.43 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
thread_native.h
2.36 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
util.h
1.604 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
version.h
2.058 KB
26 Jun 2024 1.55 PM
root / linksafe
0644
vm.h
1.641 KB
26 Jun 2024 1.55 PM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF