From 4dc1a6d6bae5c5828ca1e3473be280650dfadab5 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Mon, 2 Oct 2000 22:38:09 +0000 Subject: Added some comments on the interaction of reload() and extension modules. Based on comments from Chris Barker . --- Doc/ext/ext.tex | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Doc/ext/ext.tex b/Doc/ext/ext.tex index ae1b543..c29062c 100644 --- a/Doc/ext/ext.tex +++ b/Doc/ext/ext.tex @@ -435,7 +435,7 @@ int main(int argc, char **argv) initspam(); \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. \strong{Note:} Removing entries from \code{sys.modules} or importing @@ -444,6 +444,11 @@ following a \cfunction{fork()} without an intervening \cfunction{exec()}) can create problems for some extension modules. Extension module authors should exercise caution when initializing 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 distribution as \file{Modules/xxmodule.c}. This file may be used as a -- cgit v0.12