CSP for Java
(JCSP) 1.0-rc4

jcsp.lang
Class ProcessInterruptedError

java.lang.Object
  |
  +--java.lang.Throwable
        |
        +--java.lang.Error
              |
              +--jcsp.lang.ProcessInterruptedError
All Implemented Interfaces:
Serializable

public class ProcessInterruptedError
extends 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.

No action should be taken to catch ProcessInterruptedError. Application code generating it is in error and needs correcting.

Some browsers, when shutting down an applet, may do this to processes spawned by an ActiveApplet that have not died naturally. The activeApplet should be corrected to a proper handling of its destroy method.

Author:
P.H.Welch
See Also:
Serialized Form

Constructor Summary
ProcessInterruptedError(String s)
           
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getLocalizedMessage, getMessage, printStackTrace, printStackTrace, printStackTrace, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ProcessInterruptedError

public ProcessInterruptedError(String s)

CSP for Java
(JCSP) 1.0-rc4

Submit a bug or feature to jcsp-team@ukc.ac.uk
Version 1.0-rc4 of the JCSP API Specification (Copyright 1997-2000 P.D.Austin and P.H.Welch - All Rights Reserved)
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.