avoid dead fiber called errors

@splattael

when the fiber dies after is still called -> Dead fiber error

only other bug I found is that the Thread is no longer the main thread, so things like Thread.current[:xxx] are suddenly nil ...