Package org.jcsp.lang

Class ProcessInterruptedException

  • All Implemented Interfaces:
    java.io.Serializable

    public class ProcessInterruptedException
    extends java.lang.Error
    This is thrown if a process is interrupted whilst blocked during synchronisation - processes should never be interrupted.

    Description

    This is caused by accessing the Java thread executing a JCSP process and invoking its java.lang.Thread.interrupt() method. If this is done to a process blocked on a JCSP synchronisation primitive (such as a channel communication or timeout), the process will wake up prematurely -- invalidating the semantics of that primitive. The wake up is intercepted and this Error is thrown.

    Some browsers, when shutting down an applet, may do this to processes spawned by an ActiveApplet that have not died naturally. Alternatively, this may be raised by processes stopped prematurely as a result of a call to Parallel.destroy, or by calling stop on the ProcessManager responsible for the process (or network).

    See Also:
    Serialized Form
    • Method Summary

      • Methods inherited from class java.lang.Throwable

        addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ProcessInterruptedException

        public ProcessInterruptedException​(java.lang.String s)