diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2006-04-16 18:55:50 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2006-04-16 18:55:50 (GMT) |
commit | 19ab6c98cf0525682b74f1f217503c42bacb4916 (patch) | |
tree | 085bf98c3a76a80475ef8864ac329c820286ad04 /Modules/pwdmodule.c | |
parent | d18d5a31535f4162045ce7b7ac8ea320333d24d4 (diff) | |
download | cpython-19ab6c98cf0525682b74f1f217503c42bacb4916.zip cpython-19ab6c98cf0525682b74f1f217503c42bacb4916.tar.gz cpython-19ab6c98cf0525682b74f1f217503c42bacb4916.tar.bz2 |
Initialize structseq types only once.
Diffstat (limited to 'Modules/pwdmodule.c')
-rw-r--r-- | Modules/pwdmodule.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Modules/pwdmodule.c b/Modules/pwdmodule.c index 9e7b864..9e01f48 100644 --- a/Modules/pwdmodule.c +++ b/Modules/pwdmodule.c @@ -42,6 +42,7 @@ The uid and gid items are integers, all others are strings. An\n\ exception is raised if the entry asked for cannot be found."); +static int initialized; static PyTypeObject StructPwdType; static void @@ -186,9 +187,12 @@ initpwd(void) if (m == NULL) return; - PyStructSequence_InitType(&StructPwdType, &struct_pwd_type_desc); + if (!initialized) + PyStructSequence_InitType(&StructPwdType, + &struct_pwd_type_desc); Py_INCREF((PyObject *) &StructPwdType); PyModule_AddObject(m, "struct_passwd", (PyObject *) &StructPwdType); /* And for b/w compatibility (this was defined by mistake): */ PyModule_AddObject(m, "struct_pwent", (PyObject *) &StructPwdType); + initialized = 1; } |