} catch (RaiseException re) {
// re-raise exception in parent thread
parent.raise(new IRubyObject[] {re.getException()}, Block.NULL_BLOCK);
parent.getNativeThread().interrupt();
} catch (InterruptedException ie) {
context.pollThreadEvents();
throw context.getRuntime().newConcurrencyError(ie.getLocalizedMessage());
} finally {
state = FiberState.FINISHED;
}
}