I actually made use of this unorthodox method, which looks like it is courting fandango on core, in Arcueid's implementation of threading. I needed to find a way to interrupt execution of C code when it would have blocked on I/O, and make it resume at the same point after Arcueid's thread scheduler determines I/O can proceed. I've not figured out any other ways of doing that. Apparently setcontext and getcontext don't do this.