Skip to content

Commit abe173a

Browse files
committed
Replace intrcheck() by sigcheck() in many places.
In Pythonrun, tirn off SIGPIPE and move signal handlers elsewhere. In ceval.c, also move locals_2_fast/ fast_2_locals to frameobject.c, replaced local variable trace by f->f_trace, got rid of unused mergelocals() and unneeded calls to fast_2_locals, return the variable name on "fast variable not found", AND use "__call__" method if it exists to call an inmstance. Whew!
1 parent 169b612 commit abe173a

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

Python/sigcheck.c

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/***********************************************************
2+
Copyright 1991, 1992, 1993, 1994 by Stichting Mathematisch Centrum,
3+
Amsterdam, The Netherlands.
4+
5+
All Rights Reserved
6+
7+
Permission to use, copy, modify, and distribute this software and its
8+
documentation for any purpose and without fee is hereby granted,
9+
provided that the above copyright notice appear in all copies and that
10+
both that copyright notice and this permission notice appear in
11+
supporting documentation, and that the names of Stichting Mathematisch
12+
Centrum or CWI not be used in advertising or publicity pertaining to
13+
distribution of the software without specific, written prior permission.
14+
15+
STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
16+
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
17+
FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
18+
FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
20+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
21+
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
22+
23+
******************************************************************/
24+
25+
/* Sigcheck is similar to intrcheck() but sets an exception when an
26+
interrupt occurs. It can't be in the intrcheck.c file since that
27+
file (and the whole directory it is in) doesn't know about objects
28+
or exceptions. It can't be in errors.c because it can be
29+
overridden (at link time) by a more powerful version implemented in
30+
signalmodule.c. */
31+
32+
#include "allobjects.h"
33+
#include "intrcheck.h"
34+
35+
/* ARGSUSED */
36+
int
37+
sigcheck()
38+
{
39+
if (!intrcheck())
40+
return 0;
41+
err_set(KeyboardInterrupt);
42+
return -1;
43+
}

0 commit comments

Comments
 (0)