summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-04-02 01:42:05 (GMT)
committerGitHub <noreply@github.com>2020-04-02 01:42:05 (GMT)
commit9a679a0e47d58aa73b7747d4e16140048c10baf5 (patch)
tree9b858a70736362f4d83ae20b0b94a4f2acd1af7b
parente27916b1fc0364e3627438df48550c16f0b80b82 (diff)
downloadcpython-9a679a0e47d58aa73b7747d4e16140048c10baf5.zip
cpython-9a679a0e47d58aa73b7747d4e16140048c10baf5.tar.gz
cpython-9a679a0e47d58aa73b7747d4e16140048c10baf5.tar.bz2
bpo-40094: CGIHTTPRequestHandler logs exit code (GH-19285)
CGIHTTPRequestHandler of http.server now logs the CGI script exit code, rather than the CGI script exit status of os.waitpid(). For example, if the script is killed by signal 11, it now logs: "CGI script exit code -11."
-rw-r--r--Lib/http/server.py5
-rw-r--r--Misc/NEWS.d/next/Library/2020-04-02-01-13-28.bpo-40094.AeZ34K.rst3
2 files changed, 6 insertions, 2 deletions
diff --git a/Lib/http/server.py b/Lib/http/server.py
index 2d74b95..fa204fb 100644
--- a/Lib/http/server.py
+++ b/Lib/http/server.py
@@ -1164,8 +1164,9 @@ class CGIHTTPRequestHandler(SimpleHTTPRequestHandler):
while select.select([self.rfile], [], [], 0)[0]:
if not self.rfile.read(1):
break
- if sts:
- self.log_error("CGI script exit status %#x", sts)
+ exitcode = os.waitstatus_to_exitcode(sts)
+ if exitcode:
+ self.log_error(f"CGI script exit code {exitcode}")
return
# Child
try:
diff --git a/Misc/NEWS.d/next/Library/2020-04-02-01-13-28.bpo-40094.AeZ34K.rst b/Misc/NEWS.d/next/Library/2020-04-02-01-13-28.bpo-40094.AeZ34K.rst
new file mode 100644
index 0000000..ba13d3c
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2020-04-02-01-13-28.bpo-40094.AeZ34K.rst
@@ -0,0 +1,3 @@
+CGIHTTPRequestHandler of http.server now logs the CGI script exit code,
+rather than the CGI script exit status of os.waitpid(). For example, if the
+script is killed by signal 11, it now logs: "CGI script exit code -11."