[Python-checkins] correct initialization code (#3376)

Benjamin Peterson webhook-mailer at python.org
Tue Sep 5 23:19:15 EDT 2017


https://github.com/python/cpython/commit/b0a9a5a6a4786a6f8f0540e243427775d8ca245e
commit: b0a9a5a6a4786a6f8f0540e243427775d8ca245e
branch: master
author: Benjamin Peterson <benjamin at python.org>
committer: GitHub <noreply at github.com>
date: 2017-09-05T20:19:12-07:00
summary:

correct initialization code (#3376)

Explicitly initialize struct members rather than relying on compiler extensions.

files:
M Python/pylifecycle.c
M Python/pystate.c

diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index f33e920e6b5..3f405b1225a 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -77,7 +77,7 @@ extern void _PyGILState_Init(PyInterpreterState *, PyThreadState *);
 extern void _PyGILState_Fini(void);
 #endif /* WITH_THREAD */
 
-_PyRuntimeState _PyRuntime = {};
+_PyRuntimeState _PyRuntime = {0, 0};
 
 void
 _PyRuntime_Initialize(void)
diff --git a/Python/pystate.c b/Python/pystate.c
index 3d3207702f8..2d926372fd6 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -37,8 +37,7 @@ extern "C" {
 void
 _PyRuntimeState_Init(_PyRuntimeState *runtime)
 {
-    _PyRuntimeState initial = {};
-    *runtime = initial;
+    memset(runtime, 0, sizeof(*runtime));
 
     _PyObject_Initialize(&runtime->obj);
     _PyMem_Initialize(&runtime->mem);



More information about the Python-checkins mailing list