suspend (Debugger::Context)

    /*
     *   call-seq:
     *      context.suspend -> nil
     *
     *   Suspends the thread when it is running.
     */
    static VALUE
    context_suspend(VALUE self)
    {
        debug_context_t *debug_context;

        debug_check_started();

        Data_Get_Struct(self, debug_context_t, debug_context);
        if(CTX_FL_TEST(debug_context, CTX_FL_SUSPEND))
            rb_raise(rb_eRuntimeError, "Already suspended.");
        context_suspend_0(debug_context);
        return Qnil;
    }