Change to flush and close logic to fix #1760556.
[python.git] / PC / config.c
blob9961efa25f6ffd435b686943cd1709bb1297ccfa
1 /* Module configuration */
3 /* This file contains the table of built-in modules.
4 See init_builtin() in import.c. */
6 #include "Python.h"
8 extern void initarray(void);
9 #ifndef MS_WINI64
10 extern void initaudioop(void);
11 #endif
12 extern void initbinascii(void);
13 extern void initcmath(void);
14 extern void initerrno(void);
15 extern void initgc(void);
16 #ifndef MS_WINI64
17 extern void initimageop(void);
18 #endif
19 extern void initmath(void);
20 extern void init_md5(void);
21 extern void initnt(void);
22 extern void initoperator(void);
23 extern void initsignal(void);
24 extern void init_sha(void);
25 extern void init_sha256(void);
26 extern void init_sha512(void);
27 extern void initstrop(void);
28 extern void inittime(void);
29 extern void initthread(void);
30 extern void initcStringIO(void);
31 extern void initcPickle(void);
32 #ifdef WIN32
33 extern void initmsvcrt(void);
34 extern void init_locale(void);
35 #endif
36 extern void init_codecs(void);
37 extern void init_weakref(void);
38 extern void init_hotshot(void);
39 extern void initxxsubtype(void);
40 extern void initzipimport(void);
41 extern void init_random(void);
42 extern void inititertools(void);
43 extern void init_collections(void);
44 extern void init_heapq(void);
45 extern void init_bisect(void);
46 extern void init_symtable(void);
47 extern void initmmap(void);
48 extern void init_csv(void);
49 extern void init_sre(void);
50 extern void initparser(void);
51 extern void init_winreg(void);
52 extern void init_struct(void);
53 extern void initdatetime(void);
54 extern void init_functools(void);
55 extern void initzlib(void);
57 extern void init_multibytecodec(void);
58 extern void init_codecs_cn(void);
59 extern void init_codecs_hk(void);
60 extern void init_codecs_iso2022(void);
61 extern void init_codecs_jp(void);
62 extern void init_codecs_kr(void);
63 extern void init_codecs_tw(void);
64 extern void init_subprocess(void);
65 extern void init_lsprof(void);
66 extern void init_ast(void);
67 extern void init_types(void);
69 /* tools/freeze/makeconfig.py marker for additional "extern" */
70 /* -- ADDMODULE MARKER 1 -- */
72 extern void PyMarshal_Init(void);
73 extern void initimp(void);
75 struct _inittab _PyImport_Inittab[] = {
77 {"array", initarray},
78 {"_ast", init_ast},
79 #ifdef MS_WINDOWS
80 #ifndef MS_WINI64
81 {"audioop", initaudioop},
82 #endif
83 #endif
84 {"binascii", initbinascii},
85 {"cmath", initcmath},
86 {"errno", initerrno},
87 {"gc", initgc},
88 #ifndef MS_WINI64
89 {"imageop", initimageop},
90 #endif
91 {"math", initmath},
92 {"_md5", init_md5},
93 {"nt", initnt}, /* Use the NT os functions, not posix */
94 {"operator", initoperator},
95 {"signal", initsignal},
96 {"_sha", init_sha},
97 {"_sha256", init_sha256},
98 {"_sha512", init_sha512},
99 {"strop", initstrop},
100 {"time", inittime},
101 #ifdef WITH_THREAD
102 {"thread", initthread},
103 #endif
104 {"cStringIO", initcStringIO},
105 {"cPickle", initcPickle},
106 #ifdef WIN32
107 {"msvcrt", initmsvcrt},
108 {"_locale", init_locale},
109 #endif
110 /* XXX Should _subprocess go in a WIN32 block? not WIN64? */
111 {"_subprocess", init_subprocess},
113 {"_codecs", init_codecs},
114 {"_weakref", init_weakref},
115 {"_hotshot", init_hotshot},
116 {"_random", init_random},
117 {"_bisect", init_bisect},
118 {"_heapq", init_heapq},
119 {"_lsprof", init_lsprof},
120 {"itertools", inititertools},
121 {"_collections", init_collections},
122 {"_symtable", init_symtable},
123 {"mmap", initmmap},
124 {"_csv", init_csv},
125 {"_sre", init_sre},
126 {"parser", initparser},
127 {"_winreg", init_winreg},
128 {"_struct", init_struct},
129 {"datetime", initdatetime},
130 {"_functools", init_functools},
132 {"xxsubtype", initxxsubtype},
133 {"zipimport", initzipimport},
134 {"zlib", initzlib},
136 /* CJK codecs */
137 {"_multibytecodec", init_multibytecodec},
138 {"_codecs_cn", init_codecs_cn},
139 {"_codecs_hk", init_codecs_hk},
140 {"_codecs_iso2022", init_codecs_iso2022},
141 {"_codecs_jp", init_codecs_jp},
142 {"_codecs_kr", init_codecs_kr},
143 {"_codecs_tw", init_codecs_tw},
145 /* tools/freeze/makeconfig.py marker for additional "_inittab" entries */
146 /* -- ADDMODULE MARKER 2 -- */
148 /* This module "lives in" with marshal.c */
149 {"marshal", PyMarshal_Init},
151 /* This lives it with import.c */
152 {"imp", initimp},
154 /* These entries are here for sys.builtin_module_names */
155 {"__main__", NULL},
156 {"__builtin__", NULL},
157 {"sys", NULL},
158 {"exceptions", NULL},
160 {"_types", init_types},
162 /* Sentinel */
163 {0, 0}