15 " # mutex.synchronize { ... }\n"
17 " # Obtains a lock, runs the block, and releases the lock when the\n"
18 " # block completes. See the example under Mutex.\n"
24 " self.unlock rescue nil\n"
30 " MUTEX_FOR_THREAD_EXCLUSIVE = Mutex.new # :nodoc:\n"
33 " # Thread.exclusive { block } => obj\n"
35 " # Wraps a block in Thread.critical, restoring the original value\n"
36 " # upon exit from the critical section, and returns the value of the\n"
38 " def self.exclusive\n"
39 " MUTEX_FOR_THREAD_EXCLUSIVE.synchronize{\n"
46 #define PRELUDE_COUNT 0
static void prelude_eval(VALUE code, VALUE name, VALUE line)
static const char prelude_code0[]
VALUE rb_iseq_compile_with_option(VALUE src, VALUE file, VALUE filepath, VALUE line, VALUE opt)
VALUE rb_iseq_eval(VALUE iseqval)
static const char prelude_name0[]
VALUE rb_usascii_str_new(const char *, long)