
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: }