mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
55 lines
2.5 KiB
Plaintext
55 lines
2.5 KiB
Plaintext
Interrupts
|
|
|
|
While a calculation is in progress, you can generate the SIGINT
|
|
signal, and the calculator will catch it. At appropriate points
|
|
within a calculation, the calculator will check that the signal
|
|
has been given, and will abort the calculation cleanly. If the
|
|
calculator is in the middle of a large calculation, it might be
|
|
a while before the interrupt has an effect.
|
|
|
|
You can generate the SIGINT signal multiple times if necessary,
|
|
and each time the calculator will abort the calculation at a more
|
|
risky place within the calculation. Each new interrupt prints a
|
|
message of the form:
|
|
|
|
[Abort level n]
|
|
|
|
where n ranges from 1 to 3. For n equal to 1, the calculator will
|
|
abort calculations at the next statement boundary. For n equal to 2,
|
|
the calculator will abort calculations at the next opcode boundary.
|
|
For n equal to 3, the calculator will abort calculations at the next
|
|
lowest level arithmetic operation boundary.
|
|
|
|
If a final interrupt is given when n is 3, the calculator will
|
|
immediately abort the current calculation and longjmp back to the
|
|
top level command level. Doing this may result in corrupted data
|
|
structures and unpredictable future behavior, and so should only
|
|
be done as a last resort. You are advised to quit the calculator
|
|
after this has been done.
|
|
|
|
## Copyright (C) 1999 Landon Curt Noll
|
|
##
|
|
## Calc is open software; you can redistribute it and/or modify it under
|
|
## the terms of the version 2.1 of the GNU Lesser General Public License
|
|
## as published by the Free Software Foundation.
|
|
##
|
|
## Calc is distributed in the hope that it will be useful, but WITHOUT
|
|
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
|
|
## Public License for more details.
|
|
##
|
|
## A copy of version 2.1 of the GNU Lesser General Public License is
|
|
## distributed with calc under the filename COPYING-LGPL. You should have
|
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
|
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
|
##
|
|
## @(#) $Revision: 29.1 $
|
|
## @(#) $Id: interrupt,v 29.1 1999/12/14 09:15:54 chongo Exp $
|
|
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/interrupt,v $
|
|
##
|
|
## Under source code control: 1991/07/21 04:37:21
|
|
## File existed as early as: 1991
|
|
##
|
|
## chongo <was here> /\oo/\ http://reality.sgi.com/chongo/
|
|
## Share and enjoy! :-) http://reality.sgi.com/chongo/tech/comp/calc/
|