>>>>> "d" == daniel <student_vienna / aon.at> writes: d> and use this block in my c-routines (in my dll). d> And I need the block in another function! Well there are 2 possibilities * the 2 functions are ruby method : in this case, this is just my previous example. You store the block in an instance variable when rPAInit is called and then call it in the second method * only rPAInit is a ruby method, the second function is just a C method called. In this case you use a thread local variable. rPAInit() store the block (rb_thread_local_aset()) and the second function retrieve it (rb_thread_local_aref()) and call it Guy Decoux