Breaking out of self implemented each


I implemented a #each method in a C extension and uses rb_yield for each
iteration of the #each method. Apparently, the break functionality to
interupt the normal #each iterations does not work when using my own
#each function. Why does Ruby not break out of the loop, I return
control to ruby after each rb_yield call? How can I catch in my C
function that a break has been issued, or how can I fix this so that it
has the required behaviour?