summaryrefslogtreecommitdiff
path: root/thread.c
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-08-11 00:39:04 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-08-11 00:39:04 +0000
commit3360e3e7eafd0a7c19af8dc13b9adba4baee0c48 (patch)
treedeba4b631db5c5b1f811bb2b527f7c7f4f37c4ee /thread.c
parente1fd55ae00adc7855f459383a22bb36b4de5ffa5 (diff)
merges r32334 and r32335 from trunk into ruby_1_9_2.
-- * vm_insnhelper.c (vm_call_bmethod): fix to hook call/return event for methods defined by define_method(). * thread.c (call_trace_proc): Fix to skip if class is not given (0). Note that ID and Class object are passed for call/return event if the called method was defined by define_method(). If you are author of tracer/profiler/debugger, this may be an important change. You should check passed class as zero or non-zero instead of checking the event type. * test/ruby/test_settracefunc.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@32924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread.c')
-rw-r--r--thread.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/thread.c b/thread.c
index 784c3aa57b..10da7fff02 100644
--- a/thread.c
+++ b/thread.c
@@ -4048,8 +4048,7 @@ call_trace_proc(VALUE args, int tracing)
ID id = 0;
VALUE klass = 0;
- if (p->event == RUBY_EVENT_C_CALL ||
- p->event == RUBY_EVENT_C_RETURN) {
+ if (p->klass != 0) {
id = p->id;
klass = p->klass;
}