We have been running ruby for about 7 years as an embedded interpreter
and we are trying to upgrade from 1.8.7 to 1.9.3. One of the things we
do is to add an event hook using rb_add_event_hook for event type
This allows us to ‘know’ what ruby method is being called.
In our function for the hook proc we use the passed in ID value to tell
us the name of the ruby method that is about to run. This works well in
In 1.9.3 the id passed in is always 0. Looking thru the code I can see
that this is marked in insns.def as ‘TODO’ (insns.def line 875 -
EXEC_EVENT_HOOK(th, flag, GET_SELF(), 0, 0 /* TODO: id, klass */);
I’m not sure yet what insns.def is or how it works - but without the
method id our code dies.
Is there any other way of finding the method name that is about to be
Any help gratefully received.