>>>>> "T" == Takaaki Tateishi <ttate / ttsky.net> writes:

T> I also can't see what you are getting at.
T> If I don't use the above two line, rb_dl_callback_func_x_y must receive
T> a clue as to ruby's proc object, but arguments passed to the function
T> are not given by DL.

 Well, dl must pass to rb_dl_callback_func_0() [proc, proto]

 You have chosen to use the name of the function to retrieve this
 information and this give your limitation.

T> How should I retrieve the data?

 rb_dlsym_new() return a data struct.

 Why store in an external struct (DLFuncTable) [proc, proto] when you can
 store it in the data struct returned by rb_dlsym_new() ?

 rb_dl_callback_func_0() is called from rb_dlsym_call() with precisely
 receive this struct as argument 

  Data_Get_Struct(self, struct sym_data, sym);
 


Guy Decoux