Sha256: c01eff0c6b7187a9201097882b205c9a6635a6791892ba07117e1981555b3d83

Contents?: true

Size: 1.99 KB

Versions: 27

Compression:

Stored size: 1.99 KB

Contents

#ifndef INTERNAL_THREAD_H                                /*-*-C-*-vi:se ft=c:*/
#define INTERNAL_THREAD_H
/**
 * @file
 * @author     Ruby developers <ruby-core@ruby-lang.org>
 * @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.
 * @brief      Internal header for Thread.
 */
#include "ruby/ruby.h"          /* for VALUE */
#include "ruby/intern.h"        /* for rb_blocking_function_t */

struct rb_thread_struct;        /* in vm_core.h */

/* thread.c */
#define COVERAGE_INDEX_LINES    0
#define COVERAGE_INDEX_BRANCHES 1
#define COVERAGE_TARGET_LINES    1
#define COVERAGE_TARGET_BRANCHES 2
#define COVERAGE_TARGET_METHODS  4
#define COVERAGE_TARGET_ONESHOT_LINES 8

VALUE rb_obj_is_mutex(VALUE obj);
VALUE rb_suppress_tracing(VALUE (*func)(VALUE), VALUE arg);
void rb_thread_execute_interrupts(VALUE th);
VALUE rb_get_coverages(void);
int rb_get_coverage_mode(void);
VALUE rb_default_coverage(int);
VALUE rb_thread_shield_new(void);
VALUE rb_thread_shield_wait(VALUE self);
VALUE rb_thread_shield_release(VALUE self);
VALUE rb_thread_shield_destroy(VALUE self);
int rb_thread_to_be_killed(VALUE thread);
void rb_mutex_allow_trap(VALUE self, int val);
VALUE rb_uninterruptible(VALUE (*b_proc)(VALUE), VALUE data);
VALUE rb_mutex_owned_p(VALUE self);

int rb_thread_wait_for_single_fd(int fd, int events, struct timeval * timeout);

RUBY_SYMBOL_EXPORT_BEGIN
/* Temporary.  This API will be removed (renamed). */
VALUE rb_thread_io_blocking_region(rb_blocking_function_t *func, void *data1, int fd);

/* thread.c (export) */
int ruby_thread_has_gvl_p(void); /* for ext/fiddle/closure.c */
RUBY_SYMBOL_EXPORT_END

MJIT_SYMBOL_EXPORT_BEGIN
int rb_threadptr_execute_interrupts(struct rb_thread_struct *th, int blocking_timing);
MJIT_SYMBOL_EXPORT_END

#endif /* INTERNAL_THREAD_H */

Version data entries

27 entries across 20 versions & 3 rubygems

Version Path
debase-ruby_core_source-3.3.6 lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
debase-ruby_core_source-3.3.5 lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
avalara_sdk-24.2.29 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-3.3.1/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
avalara_sdk-24.2.29 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-0.10.16/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
debase-ruby_core_source-3.3.1 lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
debase-ruby_core_source-3.3.0 lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
debase-ruby_core_source-3.2.3 lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
debase-ruby_core_source-3.2.2 lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
debase-ruby_core_source-3.2.1 lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
debase-ruby_core_source-3.2.0 lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
debase-ruby_core_source-0.10.18 lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
debase-ruby_core_source-0.10.17 lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
debase-ruby_core_source-0.10.16 lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
debase-ruby_core_source-0.10.15 lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
debase-ruby_core_source-0.10.14 lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
tdiary-5.2.0 vendor/bundle/ruby/3.0.0/gems/debase-ruby_core_source-0.10.13/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
tdiary-5.2.0 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-0.10.12/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
debase-ruby_core_source-0.10.13 lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
tdiary-5.1.7 vendor/bundle/ruby/3.0.0/gems/debase-ruby_core_source-0.10.12/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h
tdiary-5.1.7 vendor/bundle/ruby/2.7.0/gems/debase-ruby_core_source-0.10.12/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h