Kaydet (Commit) 4dc1a6d6 authored tarafından Fred Drake's avatar Fred Drake

Added some comments on the interaction of reload() and extension modules.

Based on comments from Chris Barker <cbarker@jps.net>.
üst 296b8f5b
...@@ -435,7 +435,7 @@ int main(int argc, char **argv) ...@@ -435,7 +435,7 @@ int main(int argc, char **argv)
initspam(); initspam();
\end{verbatim} \end{verbatim}
And example may be found in the file \file{Demo/embed/demo.c} in the An example may be found in the file \file{Demo/embed/demo.c} in the
Python source distribution. Python source distribution.
\strong{Note:} Removing entries from \code{sys.modules} or importing \strong{Note:} Removing entries from \code{sys.modules} or importing
...@@ -444,6 +444,11 @@ following a \cfunction{fork()} without an intervening ...@@ -444,6 +444,11 @@ following a \cfunction{fork()} without an intervening
\cfunction{exec()}) can create problems for some extension modules. \cfunction{exec()}) can create problems for some extension modules.
Extension module authors should exercise caution when initializing Extension module authors should exercise caution when initializing
internal data structures. internal data structures.
Note also that the \function{reload()} function can be used with
extension modules, and will call the module initialization function
(\cfunction{initspam()} in the example), but will not load the module
again if it was loaded from a dynamically loadable object file
(\file{.so} on \UNIX, \file{.dll} on Windows).
A more substantial example module is included in the Python source A more substantial example module is included in the Python source
distribution as \file{Modules/xxmodule.c}. This file may be used as a distribution as \file{Modules/xxmodule.c}. This file may be used as a
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment