interruptUser(node: Node; process: Process) serverExecution;
The interruptUser method of the System class causes a conditional interruption of a specified process. The parameters for the interruptUser method are listed in the following table.
Parameter | Specifies the… |
---|---|
node | Node to which the process belongs |
process | Process that is to be interrupted |
The target process, when interrupted, receives a continuable user interrupted execution-type exception.
The following example shows the use of the interruptUser method.
vars allNodes: NodeDict; allProcesses: ProcessDict; nod: Node; proc: Process; begin allNodes := system.nodes.cloneSelf(true); foreach nod in allNodes do allProcesses := nod.processes.cloneSelf(true); foreach proc in allProcesses do if process.signOnUserCode = "Wilbur" then system.interruptUser(nod, process); return; endif; endforeach; delete allProcesses; endforeach; return; epilog delete allNodes; delete allProcesses; end;
The following example shows the handling of a conditional interrupt in an exception handler.
vars begin if exObj.continuable then if allowInterrupt then return Ex_Abort_Action; endif; return Ex_Continue; endif; end;