cpython/Modules
Thomas Heller fbb9c0bf3c Issue #1798: Add ctypes calling convention that allows safe access of errno.
ctypes maintains thread-local storage that has space for two error
numbers: private copies of the system 'errno' value and, on Windows,
the system error code accessed by the GetLastError() and
SetLastError() api functions.

Foreign functions created with CDLL(..., use_errno=True), when called,
swap the system 'errno' value with the private copy just before the
actual function call, and swapped again immediately afterwards.  The
'use_errno' parameter defaults to False, in this case 'ctypes_errno'
is not touched.

On Windows, foreign functions created with CDLL(...,
use_last_error=True) or WinDLL(..., use_last_error=True) swap the
system LastError value with the ctypes private copy.

The values are also swapped immeditately before and after ctypes
callback functions are called, if the callbacks are constructed using
the new optional use_errno parameter set to True: CFUNCTYPE(...,
use_errno=TRUE) or WINFUNCTYPE(..., use_errno=True).

New ctypes functions are provided to access the ctypes private copies
from Python:

- ctypes.set_errno(value) and ctypes.set_last_error(value) store
  'value' in the private copy and returns the previous value.

- ctypes.get_errno() and ctypes.get_last_error() returns the current
  ctypes private copies value.
2008-06-06 08:33:46 +00:00
..
_ctypes Issue #1798: Add ctypes calling convention that allows safe access of errno. 2008-06-06 08:33:46 +00:00
_sqlite Fixed rowcount for SELECT statements. They're -1 now (again), for better DB-API 2.0 compliance. 2008-05-31 21:33:27 +00:00
cjkcodecs Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
expat Handle failures from lookup. 2006-08-13 18:12:26 +00:00
zlib Remove unneeded directories. 2006-01-03 06:48:38 +00:00
_bisectmodule.c More unconsting. 2006-02-27 17:20:04 +00:00
_bsddb.c Define macros so that this still compiles on Python prior to r63675. 2008-05-26 19:03:35 +00:00
_bytesio.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_codecsmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_collectionsmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_csv.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_curses_panel.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_cursesmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_elementtree.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_fileio.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_functoolsmodule.c #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT. Macros for b/w compatibility are available. 2007-12-19 02:37:44 +00:00
_hashopenssl.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_heapqmodule.c Implement heapq in terms of less-than (to match list.sort()). 2008-05-31 03:24:31 +00:00
_hotshot.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_json.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_localemodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_lsprof.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_randommodule.c #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT. Macros for b/w compatibility are available. 2007-12-19 02:37:44 +00:00
_sre.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_ssl.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_struct.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_testcapimodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_tkinter.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
_weakref.c #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT. Macros for b/w compatibility are available. 2007-12-19 02:37:44 +00:00
addrinfo.h Add comments at end of every #endif and fix ones already there when for closing 2004-07-10 19:30:39 +00:00
almodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
ar_beos Moved BeOS/ar-fake and BeOS/linkmodule to Modules/ar_beos and 2001-02-16 03:24:50 +00:00
arraymodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
audioop.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
binascii.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
bsddb.h bsddb module updated to version 4.7.0 2008-05-22 15:27:38 +00:00
bsddbmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
bz2module.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
cdmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
cgen.py Deprecate DEVICE, GL, gl, and the related modules cgen and cgensupport for removal in 3.0. 2008-05-15 02:33:55 +00:00
cgensupport.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
cgensupport.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
clmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
cmathmodule.c Following Amaury's advice 2008-05-16 11:28:56 +00:00
config.c.in Re-implement the 'warnings' module in C. This allows for usage of the 2008-04-12 23:44:07 +00:00
cPickle.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
cryptmodule.c Patch #1516912: improve Modules support for OpenVMS. 2006-07-10 01:18:57 +00:00
cStringIO.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
cstubs REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
datetimemodule.c Fix issue 2782: be less strict about the format string type in strftime. 2008-06-02 04:05:52 +00:00
dbmmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
dlmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
errnomodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
fcntlmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
flmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
fmmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
fpectlmodule.c Patch #1516912: improve Modules support for OpenVMS. 2006-07-10 01:18:57 +00:00
fpetestmodule.c Check return result from Py_InitModule*(). This API can fail. 2006-01-19 06:09:39 +00:00
future_builtins.c Added zip, map, filter to future_bultins (#2171) 2008-03-19 02:35:45 +00:00
gc_weakref.txt SF 1055820: weakref callback vs gc vs threads 2004-10-30 23:09:22 +00:00
gcmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
gdbmmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
getaddrinfo.c SF #784031: Byte-order bug in socket-module getaddrinfo.c 2003-08-17 21:28:39 +00:00
getbuildinfo.c Fixing changes to getbuildinfo.c that broke linux builds 2007-06-07 23:53:49 +00:00
getnameinfo.c Remove INET6 define. Use ENABLE_IPV6 instead. 2001-12-02 10:15:37 +00:00
getpath.c Typos. 2007-03-10 07:38:14 +00:00
glmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
grpmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
imageop.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
imgfile.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
itertoolsmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
ld_so_aix SF Bug # 941346, AIX shared library fix 2005-10-03 03:57:09 +00:00
ld_so_beos Remove a hard coded Python version, and a now incorrect relative path. Closes 2001-02-16 03:27:35 +00:00
linuxaudiodev.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
main.c New environment variable PYTHONIOENCODING. 2008-06-01 07:20:46 +00:00
makesetup Patch #786737: Allow building in a tree of symlinks pointing to 2007-09-05 11:47:34 +00:00
makexp_aix - Changes donated by Elemental Security to make it work on AIX 5.3 2005-09-14 18:09:42 +00:00
mathmodule.c * Mark intermedidate computes values (hi, lo, yr) as volatile. 2008-05-30 18:20:50 +00:00
md5.c - Patch #360466: Replace the MD5 implementation from RSA Data Security Inc 2006-04-03 16:27:50 +00:00
md5.h - Patch #360466: Replace the MD5 implementation from RSA Data Security Inc 2006-04-03 16:27:50 +00:00
md5module.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
mmapmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
nismodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
operator.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
ossaudiodev.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
parsermodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
posixmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
puremodule.c Deprecate the pure module for 3.0. 2008-05-09 22:51:58 +00:00
pwdmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
pyexpat.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
python.c Apparently FreeBSD enables some HW floating-point exceptions by default. 2002-12-28 21:56:08 +00:00
readline.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
resource.c Patch #1557515: Add RLIMIT_SBSIZE. 2006-09-16 17:36:37 +00:00
rotatingtree.c randombits(): Stop compiler warning about mixing 2006-02-15 03:01:30 +00:00
rotatingtree.h Fix comment typo 2006-04-22 01:58:40 +00:00
selectmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
Setup.config.in Patch to make _codecs a builtin module. This is necessary since 2002-12-12 17:37:50 +00:00
Setup.dist Put Lib/lib-old back on to sys.path for module renames. 2008-05-11 23:39:04 +00:00
sgimodule.c Convert more METH_OLDARGS & PyArg_Parse() 2002-04-02 18:26:33 +00:00
sha256module.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
sha512module.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
shamodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
signalmodule.c Conditionalize sys/time.h inclusion. 2008-03-24 13:54:23 +00:00
socketmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
socketmodule.h Issue #1646: Make socket support TIPC. The socket module now has support 2008-01-07 16:12:44 +00:00
spwdmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
sre.h Impl ssize_t 2006-06-12 03:05:40 +00:00
sre_constants.h Implemented non-recursive SRE matching. 2003-10-17 22:13:16 +00:00
stropmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
sunaudiodev.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
svmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
symtablemodule.c Check return result from Py_InitModule*(). This API can fail. 2006-01-19 06:09:39 +00:00
syslogmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
termios.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
testcapi_long.h Fix error in comment, and in test_long_api and test_longlong_api remove 2001-06-16 08:10:13 +00:00
threadmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
timemodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
timing.h Remove the advertising clause from the BSD license in timing.h. 2008-04-01 23:57:36 +00:00
timingmodule.c Deprecate the timing module for removal in Python 3.0. 2008-05-12 03:47:47 +00:00
tkappinit.c Remove warning about implicit declaration of strcmp() 2004-06-13 20:29:55 +00:00
unicodedata.c Change all functions that expect one unicode character to accept a pair of 2008-06-02 20:36:03 +00:00
unicodedata_db.h Update Unicode database to Unicode 4.1. 2006-03-09 23:38:20 +00:00
unicodename_db.h Update Unicode database to Unicode 4.1. 2006-03-09 23:38:20 +00:00
xxmodule.c #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT. Macros for b/w compatibility are available. 2007-12-19 02:37:44 +00:00
xxsubtype.c PEP 3123: Provide forward compatibility with Python 3.0, while keeping 2007-07-21 06:55:02 +00:00
yuv.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
yuvconvert.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
zipimport.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00
zlibmodule.c Renamed PyString to PyBytes 2008-05-26 12:51:38 +00:00