Ejemplo n.º 1
0
void mrb_exc_raise(mrb_state *mrb, mrb_value exc)
{
    mrb->m_exc = exc.object_ptr();
    exc_debug_info(mrb, mrb->m_exc);
    if (!mrb->jmp) {
        mrb_p(mrb, exc);
        abort();
    }
    MRB_THROW(mrb->jmp);
}
Ejemplo n.º 2
0
Archivo: error.c Proyecto: koie/mruby
void
mrb_exc_raise(mrb_state *mrb, mrb_value exc)
{
  mrb->exc = mrb_obj_ptr(exc);
  exc_debug_info(mrb, mrb->exc);
  if (!mrb->jmp) {
    mrb_p(mrb, exc);
    abort();
  }
  longjmp(*(jmp_buf*)mrb->jmp, 1);
}
Ejemplo n.º 3
0
void
mrb_exc_raise(mrb_state *mrb, mrb_value exc)
{
  mrb->exc = (struct RObject*)mrb_object(exc);
  exc_debug_info(mrb, mrb->exc);
  if (!mrb->jmp) {
#ifdef ENABLE_STDIO
    mrb_p(mrb, exc);
#endif
    abort();
  }
  longjmp(*(jmp_buf*)mrb->jmp, 1);
}
Ejemplo n.º 4
0
MRB_API mrb_noreturn void
mrb_exc_raise(mrb_state *mrb, mrb_value exc)
{
  mrb->exc = mrb_obj_ptr(exc);
  if (!mrb->out_of_memory) {
    exc_debug_info(mrb, mrb->exc);
  }
  if (!mrb->jmp) {
    mrb_p(mrb, exc);
    abort();
  }
  MRB_THROW(mrb->jmp);
}
Ejemplo n.º 5
0
Archivo: error.c Proyecto: deweerdt/h2o
MRB_API mrb_noreturn void
mrb_exc_raise(mrb_state *mrb, mrb_value exc)
{
  mrb_exc_set(mrb, exc);
  if (!mrb->gc.out_of_memory) {
    exc_debug_info(mrb, mrb->exc);
    mrb_save_backtrace(mrb);
  }
  if (!mrb->jmp) {
    mrb_p(mrb, exc);
    abort();
  }
  MRB_THROW(mrb->jmp);
}