Fix the wrong description of LibraryLoader.LoadLibrary, and document

the DEFAULT_MODE constant.
This commit is contained in:
Thomas Heller 2006-07-12 14:25:18 +00:00
parent 47d7a069d1
commit 76c5af6216

View file

@ -1474,13 +1474,13 @@ locate the library at runtime.
There are several ways to loaded shared libraries into the Python There are several ways to loaded shared libraries into the Python
process. One way is to instantiate one of the following classes: process. One way is to instantiate one of the following classes:
\begin{classdesc}{CDLL}{name, mode=RTLD_LOCAL, handle=None} \begin{classdesc}{CDLL}{name, mode=DEFAULT_MODE, handle=None}
Instances of this class represent loaded shared libraries. Instances of this class represent loaded shared libraries.
Functions in these libraries use the standard C calling Functions in these libraries use the standard C calling
convention, and are assumed to return \code{int}. convention, and are assumed to return \code{int}.
\end{classdesc} \end{classdesc}
\begin{classdesc}{OleDLL}{name, mode=RTLD_LOCAL, handle=None} \begin{classdesc}{OleDLL}{name, mode=DEFAULT_MODE, handle=None}
Windows only: Instances of this class represent loaded shared Windows only: Instances of this class represent loaded shared
libraries, functions in these libraries use the \code{stdcall} libraries, functions in these libraries use the \code{stdcall}
calling convention, and are assumed to return the windows specific calling convention, and are assumed to return the windows specific
@ -1490,7 +1490,7 @@ with additional error code. If the return value signals a
failure, an \class{WindowsError} is automatically raised. failure, an \class{WindowsError} is automatically raised.
\end{classdesc} \end{classdesc}
\begin{classdesc}{WinDLL}{name, mode=RTLD_LOCAL, handle=None} \begin{classdesc}{WinDLL}{name, mode=DEFAULT_MODE, handle=None}
Windows only: Instances of this class represent loaded shared Windows only: Instances of this class represent loaded shared
libraries, functions in these libraries use the \code{stdcall} libraries, functions in these libraries use the \code{stdcall}
calling convention, and are assumed to return \code{int} by default. calling convention, and are assumed to return \code{int} by default.
@ -1503,7 +1503,7 @@ convention on this platform.
The Python GIL is released before calling any function exported by The Python GIL is released before calling any function exported by
these libraries, and reaquired afterwards. these libraries, and reaquired afterwards.
\begin{classdesc}{PyDLL}{name, mode=RTLD_LOCAL, handle=None} \begin{classdesc}{PyDLL}{name, mode=DEFAULT_MODE, handle=None}
Instances of this class behave like \class{CDLL} instances, except Instances of this class behave like \class{CDLL} instances, except
that the Python GIL is \emph{not} released during the function call, that the Python GIL is \emph{not} released during the function call,
and after the function execution the Python error flag is checked. and after the function execution the Python error flag is checked.
@ -1533,6 +1533,12 @@ Flag to use as \var{mode} parameter. On platforms where this is not
available, it is the same as \var{RTLD{\_}GLOBAL}. available, it is the same as \var{RTLD{\_}GLOBAL}.
\end{datadescni} \end{datadescni}
\begin{datadescni}{DEFAULT_MODE}
The default mode which is used to load shared libraries. On OSX
10.3, this is \var{RTLD{\_}GLOBAL}, otherwise it is the same as
\var{RTLD{\_}LOCAL}.
\end{datadescni}
Instances of these classes have no public methods, however Instances of these classes have no public methods, however
\method{{\_}{\_}getattr{\_}{\_}} and \method{{\_}{\_}getitem{\_}{\_}} have special behaviour: functions \method{{\_}{\_}getattr{\_}{\_}} and \method{{\_}{\_}getitem{\_}{\_}} have special behaviour: functions
exported by the shared library can be accessed as attributes of by exported by the shared library can be accessed as attributes of by
@ -1566,10 +1572,9 @@ instance. The result is cached, so repeated attribute accesses
return the same library each time. return the same library each time.
\end{classdesc} \end{classdesc}
\begin{methoddesc}{LoadLibrary}{name, mode=RTLD_LOCAL, handle=None} \begin{methoddesc}{LoadLibrary}{name}
Load a shared library into the process and return it. This method Load a shared library into the process and return it. This method
always creates a new instance of the library. All three always returns a new instance of the library.
parameters are passed to the constructor of the library object.
\end{methoddesc} \end{methoddesc}
These prefabricated library loaders are available: These prefabricated library loaders are available: