(linenum→info "unix/slp.c:2238")

ruby/1.9.0/miniprelude.c

    1: #include "ruby/ruby.h"
    2: #include "vm_core.h"
    3: 
    4: static const char prelude_name0[] = "prelude.rb";
    5: static const char prelude_code0[] =
    6: "\n"
    7: "# Mutex\n"
    8: "\n"
    9: "class Mutex\n"
   10: "  def synchronize\n"
   11: "    self.lock\n"
   12: "    begin\n"
   13: "      yield\n"
   14: "    ensure\n"
   15: "      self.unlock\n"
   16: "    end\n"
   17: "  end\n"
   18: "end\n"
   19: "\n"
   20: "# Thread\n"
   21: "\n"
   22: "class Thread\n"
   23: "  MUTEX_FOR_THREAD_EXCLUSIVE = Mutex.new\n"
   24: "  def self.exclusive\n"
   25: "    MUTEX_FOR_THREAD_EXCLUSIVE.synchronize{\n"
   26: "      yield\n"
   27: "    }\n"
   28: "  end\n"
   29: "end\n"
   30: "\n"
   31: ;
   32: 
   33: void
   34: Init_prelude(void)
   35: {
   36:   rb_iseq_eval(rb_iseq_compile(
   37:     rb_str_new(prelude_code0, sizeof(prelude_code0) - 1),
   38:     rb_str_new(prelude_name0, sizeof(prelude_name0) - 1),
   39:     INT2FIX(1)));
   40: 
   41: #if 0
   42:     puts(prelude_code0);
   43: #endif
   44: }
Syntax (Markdown)