annotate Python/pyfpe.c @ 87686:07425df887b5 3.3

Fixes issue #15798: subprocess.Popen() no longer fails if file descriptor 0, 1 or 2 is closed. The errpipe_write fd will always be >= 3.
author Gregory P. Smith <greg@krypto.org>
date Sun, 01 Dec 2013 17:27:40 -0800
parents 2dea40e40d9d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18835
2dea40e40d9d Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774.
Martin v. Löwis <martin@v.loewis.de>
parents: 13658
diff changeset
1 #include "pyconfig.h"
5119
bda01a374762 Changes for Lee Busby's SIGFPE patch set.
Guido van Rossum <guido@python.org>
parents:
diff changeset
2 #include "pyfpe.h"
bda01a374762 Changes for Lee Busby's SIGFPE patch set.
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 /*
bda01a374762 Changes for Lee Busby's SIGFPE patch set.
Guido van Rossum <guido@python.org>
parents:
diff changeset
4 * The signal handler for SIGFPE is actually declared in an external
bda01a374762 Changes for Lee Busby's SIGFPE patch set.
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 * module fpectl, or as preferred by the user. These variable
bda01a374762 Changes for Lee Busby's SIGFPE patch set.
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 * definitions are required in order to compile Python without
bda01a374762 Changes for Lee Busby's SIGFPE patch set.
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 * getting missing externals, but to actually handle SIGFPE requires
bda01a374762 Changes for Lee Busby's SIGFPE patch set.
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 * defining a handler and enabling generation of SIGFPE.
bda01a374762 Changes for Lee Busby's SIGFPE patch set.
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 */
bda01a374762 Changes for Lee Busby's SIGFPE patch set.
Guido van Rossum <guido@python.org>
parents:
diff changeset
10
bda01a374762 Changes for Lee Busby's SIGFPE patch set.
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 #ifdef WANT_SIGFPE_HANDLER
bda01a374762 Changes for Lee Busby's SIGFPE patch set.
Guido van Rossum <guido@python.org>
parents:
diff changeset
12 jmp_buf PyFPE_jbuf;
bda01a374762 Changes for Lee Busby's SIGFPE patch set.
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 int PyFPE_counter = 0;
bda01a374762 Changes for Lee Busby's SIGFPE patch set.
Guido van Rossum <guido@python.org>
parents:
diff changeset
14 #endif
9045
ad6bc2c5d353 Restructure the file so that it is never empty. No longer needs
Guido van Rossum <guido@python.org>
parents: 8822
diff changeset
15
ad6bc2c5d353 Restructure the file so that it is never empty. No longer needs
Guido van Rossum <guido@python.org>
parents: 8822
diff changeset
16 /* Have this outside the above #ifdef, since some picky ANSI compilers issue a
ad6bc2c5d353 Restructure the file so that it is never empty. No longer needs
Guido van Rossum <guido@python.org>
parents: 8822
diff changeset
17 warning when compiling an empty file. */
ad6bc2c5d353 Restructure the file so that it is never empty. No longer needs
Guido van Rossum <guido@python.org>
parents: 8822
diff changeset
18
ad6bc2c5d353 Restructure the file so that it is never empty. No longer needs
Guido van Rossum <guido@python.org>
parents: 8822
diff changeset
19 double
13658
f79434ee41fa Mass ANSIfication of function definitions. Doesn't cover all 'extern'
Thomas Wouters <thomas@python.org>
parents: 9045
diff changeset
20 PyFPE_dummy(void *dummy)
9045
ad6bc2c5d353 Restructure the file so that it is never empty. No longer needs
Guido van Rossum <guido@python.org>
parents: 8822
diff changeset
21 {
ad6bc2c5d353 Restructure the file so that it is never empty. No longer needs
Guido van Rossum <guido@python.org>
parents: 8822
diff changeset
22 return 1.0;
ad6bc2c5d353 Restructure the file so that it is never empty. No longer needs
Guido van Rossum <guido@python.org>
parents: 8822
diff changeset
23 }