summaryrefslogtreecommitdiff
path: root/vm_core.h
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-06-06 00:25:38 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-06-06 00:25:38 +0000
commit2e71c752787e0c7659bd5e89b6c5d433eddfe13a (patch)
treed67ef654e4907461ec2c28466f8761a96c3431d3 /vm_core.h
parent7451c1468baf6b998cdc4a4697dffeac2e5a9866 (diff)
Thread.report_on_exception
* thread.c (thread_start_func_2): report raised exception if report_on_exception flag is set. [Feature #6647] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_core.h')
-rw-r--r--vm_core.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/vm_core.h b/vm_core.h
index 9c304c806b..94b5bce87d 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -495,6 +495,7 @@ typedef struct rb_vm_struct {
unsigned int running: 1;
unsigned int thread_abort_on_exception: 1;
+ unsigned int thread_report_on_exception: 1;
unsigned int trace_running: 1;
volatile int sleeper;
@@ -786,6 +787,7 @@ typedef struct rb_thread_struct {
/* misc */
enum method_missing_reason method_missing_reason: 8;
unsigned int abort_on_exception: 1;
+ unsigned int report_on_exception: 1;
#ifdef USE_SIGALTSTACK
void *altstack;
#endif
@@ -1149,6 +1151,7 @@ void rb_threadptr_unlock_all_locking_mutexes(rb_thread_t *th);
void rb_threadptr_pending_interrupt_clear(rb_thread_t *th);
void rb_threadptr_pending_interrupt_enque(rb_thread_t *th, VALUE v);
int rb_threadptr_pending_interrupt_active_p(rb_thread_t *th);
+void rb_threadptr_error_print(rb_thread_t *th, VALUE errinfo);
#define RUBY_VM_CHECK_INTS(th) ruby_vm_check_ints(th)
static inline void