diff options
| author | Guido van Rossum <guido@python.org> | 1992-09-03 20:28:00 (GMT) | 
|---|---|---|
| committer | Guido van Rossum <guido@python.org> | 1992-09-03 20:28:00 (GMT) | 
| commit | 59bff399a08b29b93b9d87c422f7077fc75c2a2a (patch) | |
| tree | 629753c28932d1c25eb867ceaac841cebd926bf9 /Python/pythonrun.c | |
| parent | da8cd8638f0ad6cb3f3393a7637b9b87686af737 (diff) | |
| download | cpython-59bff399a08b29b93b9d87c422f7077fc75c2a2a.zip cpython-59bff399a08b29b93b9d87c422f7077fc75c2a2a.tar.gz cpython-59bff399a08b29b93b9d87c422f7077fc75c2a2a.tar.bz2 | |
Add sys.exitfunc feature.  Make askync non-static.
Diffstat (limited to 'Python/pythonrun.c')
| -rw-r--r-- | Python/pythonrun.c | 21 | 
1 files changed, 20 insertions, 1 deletions
| diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 5358ee5..35b1815 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -369,6 +369,25 @@ void  goaway(sts)  	int sts;  { +	object *exitfunc = sysget("exitfunc"); + +	if (exitfunc) { +		object *arg; +		object *res; +		sysset("exitfunc", (object *)NULL); +		arg = newtupleobject(0); +		if (arg == NULL) +			res = NULL; +		else { +			res = call_object(exitfunc, arg); +			DECREF(arg); +		} +		if (res == NULL) { +			fprintf(stderr, "Error in sys.exitfunc:\n"); +			print_error(); +		} +	} +  	flushline();  #ifdef USE_THREAD @@ -411,7 +430,7 @@ goaway(sts)  #ifdef TRACE_REFS  /* Ask a yes/no question */ -static int +int  askyesno(prompt)  	char *prompt;  { | 
