public void throwIn(RuntimeException e) { record(1, "Actor", "throwIn", "Exception %s thrown into actor %s", e, this); this.exception = e; // last exception thrown in wins strand.interrupt(); }
Strand.currentStrand().interrupt(); if (p == phase && (p = (int) (state >>> PHASE_SHIFT)) == phase) return abortWait(phase); // possibly clean up on abort
/** * Convenience method to interrupt current strand. */ static void selfInterrupt() { Strand.currentStrand().interrupt(); }
Strand.currentStrand().interrupt();
/** * Interrupts the actor's strand. */ @Override protected final void interrupt() { getStrand().interrupt(); }
/** * Convenience method to interrupt current strand. */ static void selfInterrupt() { Strand.currentStrand().interrupt(); }
@Override public void handleInterruptedException(InterruptedException e) { Strand.currentStrand().interrupt(); }
protected void sendSync(Message message) throws SuspendExecution { try { send0(message, true, false, 0); } catch (InterruptedException e) { Strand.currentStrand().interrupt(); } }
@Override public final void throwIn(RuntimeException e) { record(1, "Actor", "throwIn", "Exception %s thrown into actor %s", e, this); this.exception = e; // last exception thrown in wins runner.getStrand().interrupt(); }
/** * Causes this actor to shut down. */ protected void shutdown() { verifyInActor(); log().debug("Shutdown requested."); run = false; getStrand().interrupt(); }
log().warn("Child {} shutdown timeout. Interrupting...", child.actor); LocalActor.getStrand(actor).interrupt();
/** * For internal use * * @param message */ @Override protected void internalSend(Object message) throws SuspendExecution { record(1, "ActorRef", "send", "Sending %s -> %s", message, this); Message msg = filterMessage(message); if (msg == null) return; try { mailbox().send(message); } catch (InterruptedException e) { Strand.currentStrand().interrupt(); } }