> > or have entered a muteX, > > If they're holding a mutex over a function call without a > _really_ good reason, it's their own fault.
General perl6 code is not going to be able to prevent someone from calling code that in-tern calls XS-code. Heck, most of what you do in perl involves some sort of function call (such as stringifying). whatever solution is found will probably have to deal with exceptions / events within a mutex. That said, there's no reason why we can't have _all_ signal handler code be: void sig_handler: interp->signal=X; This would just require some special handling within XS I suspect. -Michael