3 args.unshift "rubinius"
9 # This is how we go to sleep until someone sends us something
10 # MESSAGE_IO is a pipe that the environment will send a magic
11 # byte down to tell us that there is a message read.
12 Rubinius::MESSAGE_IO.sysread(1)
22 def initialize(id, stdin, stdout, stderr)
42 self.class.send_message @id, obj
46 # Sets a default VM debug channel to be used for handling yield_debugger
47 # bytecodes. The caller must ensure that a debugger thread is waiting on the
48 # receive end of the debug channel before any yield_debugger ops are hit.
50 # If no VM debug channel is specified, individual threads must have
51 # #set_debugging called on them before they encounter a yield_debugger op.
53 # Only one debug channel can be set at any time. Attempts to call this method
54 # with a value other than nil while a debug channel is already set will raise
57 def self.debug_channel=(channel)
58 if channel and @debug_channel
59 raise ArgumentError, "A VM debug channel has already been registered"
61 @debug_channel = channel
64 def self.debug_channel