summaryrefslogtreecommitdiff
path: root/vm.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-09-09 14:25:56 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-09-09 14:25:56 +0000
commit83a827ac9be0249471b23ee56980bc33a542a0fa (patch)
tree0fb9267177d477b00bb78ee7f331f45071885046 /vm.c
parenteb0c31b1adaa23051b952b3c0de0640a5283afd4 (diff)
* vm.c (vm_backtrace_each): skip allocator frames which have no
name. [ruby-core:32231] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm.c')
-rw-r--r--vm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/vm.c b/vm.c
index 5d249e584e..898bee8613 100644
--- a/vm.c
+++ b/vm.c
@@ -741,7 +741,8 @@ vm_backtrace_each(rb_thread_t *th, int lev, void (*init)(void *), rb_backtrace_i
id = cfp->me->def->original_id;
else
id = cfp->me->called_id;
- if ((*iter)(arg, file, line_no, rb_id2str(id))) break;
+ if (id != ID_ALLOCATOR && (*iter)(arg, file, line_no, rb_id2str(id)))
+ break;
}
cfp = RUBY_VM_NEXT_CONTROL_FRAME(cfp);
}