Eric V. Smith
1d44c41b0c
Move f-string compilation of the expression earlier, before the conversion character and format_spec are checked. This allows for error messages that more closely match what a user would expect.
2015-09-23 07:49:00 -04:00
Eric V. Smith
5567f89c6f
Issue #24779 : Remove unused rawmode parameter to unicode_decode.
2015-09-21 13:36:09 -04:00
Eric V. Smith
235a6f0984
Issue #24965 : Implement PEP 498 "Literal String Interpolation". Documentation is still needed, I'll open an issue for that.
2015-09-19 14:51:32 -04:00
Victor Stinner
3abf44e48f
Issue #25003 : On Solaris 11.3 or newer, os.urandom() now uses the getrandom()
...
function instead of the getentropy() function. The getentropy() function is
blocking to generate very good quality entropy, os.urandom() doesn't need such
high-quality entropy.
2015-09-18 15:38:37 +02:00
Victor Stinner
ec26f83f2e
Issue #25155 : Fix _PyTime_Divide() rounding
...
_PyTime_Divide() rounding was wrong: copy code from Python default which has
now much better unit tests.
2015-09-18 14:21:14 +02:00
Victor Stinner
9a8b177e60
Issue #25155 : Add _PyTime_AsTimevalTime_t() function
...
On Windows, the tv_sec field of the timeval structure has the type C long,
whereas it has the type C time_t on all other platforms. A C long has a size of
32 bits (signed inter, 1 bit for the sign, 31 bits for the value) which is not
enough to store an Epoch timestamp after the year 2038.
Add the _PyTime_AsTimevalTime_t() function written for datetime.datetime.now():
convert a _PyTime_t timestamp to a (secs, us) tuple where secs type is time_t.
It allows to support dates after the year 2038 on Windows.
Enhance also _PyTime_AsTimeval_impl() to detect overflow on the number of
seconds when rounding the number of microseconds.
2015-09-18 13:36:17 +02:00
Victor Stinner
1e2b6882fc
Issue #25155 : Add _PyTime_AsTimevalTime_t() function
...
On Windows, the tv_sec field of the timeval structure has the type C long,
whereas it has the type C time_t on all other platforms. A C long has a size of
32 bits (signed inter, 1 bit for the sign, 31 bits for the value) which is not
enough to store an Epoch timestamp after the year 2038.
Add the _PyTime_AsTimevalTime_t() function written for datetime.datetime.now():
convert a _PyTime_t timestamp to a (secs, us) tuple where secs type is time_t.
It allows to support dates after the year 2038 on Windows.
Enhance also _PyTime_AsTimeval_impl() to detect overflow on the number of
seconds when rounding the number of microseconds.
2015-09-18 13:23:02 +02:00
Victor Stinner
3e30fd7c59
Merge 3.5 (imp/_imp)
2015-09-18 09:12:08 +02:00
Victor Stinner
cd6e69439c
Issue #25160 : Fix import_init() comments and messages
...
import_init() imports the "_imp" module, not the "imp" module.
2015-09-18 09:11:57 +02:00
Benjamin Peterson
7920b7063d
merge 3.5 ( #25060 )
2015-09-10 21:11:26 -07:00
Benjamin Peterson
b685515039
compute stack effect of BUILD_MAP correctly ( closes #25060 )
2015-09-10 21:02:39 -07:00
Victor Stinner
51b9398444
pytime: oops, fix typos on Windows
2015-09-10 16:00:06 +02:00
Victor Stinner
c60542b12b
pytime: add _PyTime_check_mul_overflow() macro to avoid undefined behaviour
...
Overflow test in test_FromSecondsObject() fails on FreeBSD 10.0 buildbot which
uses clang. clang implements more aggressive optimization which gives
different result than GCC on undefined behaviours.
Check if a multiplication will overflow, instead of checking if a
multiplicatin had overflowed, to avoid undefined behaviour.
Add also debug information if the test on overflow fails.
2015-09-10 15:55:07 +02:00
Victor Stinner
ff0ed3e71c
New try to fix test_time.test_AsSecondsDouble() on x86 buildbots.
...
Use volatile keyword in _PyTime_AsSecondsDouble()
2015-09-10 13:25:17 +02:00
Victor Stinner
1efbebaac2
Try to fix test_time.test_AsSecondsDouble() on "x86 Gentoo Non-Debug with X 3.x" buildbot
...
Use volatile keyword in _PyTime_Round()
2015-09-10 11:48:00 +02:00
Victor Stinner
9c72f9b30a
Fix test_time on Windows
...
* Filter values which would overflow on conversion to the C long type
(for timeval.tv_sec).
* Adjust also the message of OverflowError on PyTime conversions
* test_time: add debug information if a timestamp conversion fails
2015-09-10 09:10:14 +02:00
Victor Stinner
3e2c8d84c6
test_time: rewrite PyTime API rounding tests
...
Drop all hardcoded tests. Instead, reimplement each function in Python, usually
using decimal.Decimal for the rounding mode.
Add much more values to the dataset. Test various timestamp units from
picroseconds to seconds, in integer and float.
Enhance also _PyTime_AsSecondsDouble().
2015-09-09 22:32:48 +02:00
Victor Stinner
9ae47dfbd9
pytime: add _PyTime_Round() helper to factorize code
2015-09-09 22:28:58 +02:00
Victor Stinner
ce6aa749b4
Make _PyTime_RoundHalfEven() private again
2015-09-09 22:28:09 +02:00
Victor Stinner
7667f58151
Issue #23517 : fromtimestamp() and utcfromtimestamp() methods of
...
datetime.datetime now round microseconds to nearest with ties going to nearest
even integer (ROUND_HALF_EVEN), as round(float), instead of rounding towards
-Infinity (ROUND_FLOOR).
pytime API: replace _PyTime_ROUND_HALF_UP with _PyTime_ROUND_HALF_EVEN. Fix
also _PyTime_Divide() for negative numbers.
_PyTime_AsTimeval_impl() now reuses _PyTime_Divide() instead of reimplementing
rounding modes.
2015-09-09 01:02:23 +02:00
Steve Dower
45fd95155f
Merge from 3.5
2015-09-06 22:31:26 -07:00
Steve Dower
f35bd306ff
Merge from 3.5.0 branch.
2015-09-06 22:27:42 -07:00
Serhiy Storchaka
56f6e76c68
Issue #15989 : Fixed some scarcely probable integer overflows.
...
It is very unlikely that they can occur in real code for now.
2015-09-06 21:25:30 +03:00
Larry Hastings
714e49371b
Issue #24305 : Prevent import subsystem stack frames from being counted
...
by the warnings.warn(stacklevel=) parameter.
2015-09-06 00:39:37 -07:00
Victor Stinner
adfefa527a
Issue #23517 : Fix implementation of the ROUND_HALF_UP rounding mode in
...
datetime.datetime.fromtimestamp() and datetime.datetime.utcfromtimestamp().
microseconds sign should be kept before rounding.
2015-09-04 23:57:25 +02:00
Victor Stinner
d05f49924d
Merge 3.5 (create_stdio)
2015-09-04 17:30:48 +02:00
Victor Stinner
874dbe895d
Merge 3.4 (create_stdio)
2015-09-04 17:29:57 +02:00
Victor Stinner
6fb5bae252
Fix race condition in create_stdio()
...
Issue #24891 : Fix a race condition at Python startup if the file descriptor
of stdin (0), stdout (1) or stderr (2) is closed while Python is creating
sys.stdin, sys.stdout and sys.stderr objects. These attributes are now set
to None if the creation of the object failed, instead of raising an OSError
exception. Initial patch written by Marco Paolini.
2015-09-04 17:27:49 +02:00
Victor Stinner
5786aef382
Don't abuse volatile keyword in pytime.c
...
Only use it on the most important number. This change fixes also a compiler
warning on modf().
2015-09-03 16:33:16 +02:00
Victor Stinner
29ee6745af
Enhance _PyTime_AsTimespec()
...
Ensure that the tv_nsec field is set, even if the function fails
with an overflow.
2015-09-03 16:25:45 +02:00
Victor Stinner
fbb215cb24
Merge 3.5 (namereplace)
2015-09-03 16:20:01 +02:00
Victor Stinner
38b8ae0f5b
Issue #24993 : Handle import error in namereplace error handler
...
Handle PyCapsule_Import() failure (exception) in PyCodec_NameReplaceErrors():
return immedialty NULL.
2015-09-03 16:19:40 +02:00
Victor Stinner
00723e0353
Fix ast_for_atom()
...
Clear PyObject_Str() exception if it failed, ast_error() should not be called
with an exception set.
2015-09-03 12:57:11 +02:00
Victor Stinner
5a682c9ca5
Merge 3.5 (monotonic)
2015-09-03 00:15:23 +02:00
Victor Stinner
5ad5821d09
oops, rename pymonotonic_new() to pymonotonic()
...
I was not supposed to commit the function with the name pymonotonic_new(). I
forgot to rename it.
2015-09-03 00:14:58 +02:00
Victor Stinner
c3c616c3d1
Issue #24707 : Remove assertion in monotonic clock
...
Don't check anymore at runtime that the monotonic clock doesn't go backward.
Yes, it happens. It occurs sometimes each month on a Debian buildbot slave
running in a VM.
The problem is that Python cannot do anything useful if a monotonic clock goes
backward. It was decided in the PEP 418 to not fix the system, but only expose
the clock provided by the OS.
2015-09-03 00:13:46 +02:00
Victor Stinner
2ec558739e
Issue #23517 : datetime.timedelta constructor now rounds microseconds to nearest
...
with ties going away from zero (ROUND_HALF_UP), as Python 2 and Python older
than 3.3, instead of rounding to nearest with ties going to nearest even
integer (ROUND_HALF_EVEN).
2015-09-02 19:16:07 +02:00
Yury Selivanov
1fa3652e59
Merge 3.5 (issue #24975 )
2015-09-02 15:50:04 -04:00
Victor Stinner
24b822e21e
Issue #23517 : Try to fix test_time on "x86 Ubuntu Shared 3.x" buildbot
2015-09-02 11:58:56 +02:00
Victor Stinner
67edcc905d
Issue #23517 : Fix _PyTime_ObjectToDenominator()
...
* initialize numerator on overflow error ensure that numerator is smaller than
* denominator.
2015-09-02 10:37:46 +02:00
Victor Stinner
744742320f
Issue #23517 : Add "half up" rounding mode to the _PyTime API
2015-09-02 01:43:56 +02:00
Victor Stinner
bbdda21a7a
Move assertion inside _PyTime_ObjectToTimeval()
...
Change also _PyTime_FromSeconds() assertion to ensure that the _PyTime_t type
is used.
2015-09-02 00:50:43 +02:00
Victor Stinner
53e137c8dd
Refactor pytime.c
...
Move code to convert double timestamp to subfunctions.
2015-09-02 00:49:16 +02:00
Yury Selivanov
b3d531348c
Issue #24975 : Fix AST compilation for PEP 448 syntax.
2015-09-01 16:10:49 -04:00
Larry Hastings
45d1c00831
Merge from 3.5 (with 3.5.0rc2 changes) into default (3.6). Messy!
2015-08-25 14:21:59 -07:00
Larry Hastings
01b1ff6970
Rebuilt Clinic generated code.
2015-08-24 20:23:27 -07:00
Larry Hastings
1df0b35e3d
Issue #24769 : Interpreter now starts properly when dynamic loading
...
is disabled. Patch by Petr Viktorin.
2015-08-24 19:53:56 -07:00
Eric V. Smith
163b5c668d
Fix a trivial typo.
2015-08-21 09:40:38 -04:00
Raymond Hettinger
501b4a7398
Use PyTuple_GET_SIZE like the adjacent code does.
2015-08-18 08:07:16 -07:00
Raymond Hettinger
f109414094
Inline PyIter_Next() matching the other itertools code.
2015-08-18 00:20:20 -07:00
Brett Cannon
d868376288
Merge from 3.5 for issue #24492
2015-08-14 11:09:56 -07:00
Brett Cannon
3008bc0f4a
Issue #24492 : make sure that ``from ... import ...` raises an
...
ImportError if __name__ is not defined on a package.
Thanks to Armin Rigo for the bug report and diagnosing the cause.
2015-08-11 18:01:31 -07:00
Robert Collins
df395991f6
Issue #9232 : Support trailing commas in function declarations.
...
For example, "def f(*, a = 3,): pass" is now legal.
Patch from Mark Dickinson.
2015-08-12 08:00:06 +12:00
Yury Selivanov
dca249b17c
Merge 3.5 (issue #24791 )
2015-08-05 17:55:12 -04:00
Yury Selivanov
14acf5f41d
Issue #24791 : Fix grammar regression for call syntax: 'g(*a or b)'.
2015-08-05 17:54:10 -04:00
Victor Stinner
f716e74d5a
Merge 3.5 (os.urandom)
2015-07-30 10:14:52 +02:00
Victor Stinner
61d5aab9b9
py_getrandom(): getrandom() *can* return EINTR
...
See the latest version of getrandom() manual page:
http://man7.org/linux/man-pages/man2/getrandom.2.html#NOTES
The behavior when a call to getrandom() that is blocked while reading from
/dev/urandom is interrupted by a signal handler depends on the
initialization state of the entropy buffer and on the request size, buflen.
If the entropy is not yet initialized, then the call will fail with the
EINTR error. If the entropy pool has been initialized and the request size
is large (buflen > 256), the call either succeeds, returning a partially
filled buffer, or fails with the error EINTR. If the entropy pool has been
initialized and the request size is small (buflen <= 256), then getrandom()
will not fail with EINTR. Instead, it will return all of the bytes that
have been requested.
Note: py_getrandom() calls getrandom() with flags=0.
2015-07-30 10:13:52 +02:00
Berker Peksag
0bd5fb0112
Issue #24728 : Fix building without threads.
...
Patch by Louis Dassy.
2015-07-27 16:46:11 +03:00
Stefan Krah
ff9fe230d0
Fix refleak.
2015-07-27 12:57:21 +02:00
Stefan Krah
c0cbed1554
Fix refleak.
2015-07-27 12:56:49 +02:00
Yury Selivanov
6d35043e49
Merge 3.5 (Issue #24687 )
2015-07-23 09:11:13 +03:00
Yury Selivanov
f315c1c016
Issue #24687 : Plug refleak on SyntaxError in function parameters annotations.
2015-07-23 09:10:44 +03:00
Yury Selivanov
0811c5d7ba
Merge 3.5 (Issue #24619 )
2015-07-22 14:49:13 +03:00
Yury Selivanov
b7666a3093
Issue #24619 : More tests; fix nits in compiler.c
2015-07-22 14:48:57 +03:00
Benjamin Peterson
9f71cb0fee
merge 3.5 ( #24569 )
2015-07-05 10:38:05 -05:00
Benjamin Peterson
d5d77aac60
set items in dict displays from left to right ( closes #24569 )
2015-07-05 10:37:25 -05:00
Yury Selivanov
bb215e2300
Merge 3.5 (Issue #19235 )
2015-07-03 01:10:11 -04:00
Yury Selivanov
f488fb422a
Issue #19235 : Add new RecursionError exception. Patch by Georg Brandl.
2015-07-03 01:04:23 -04:00
Yury Selivanov
3bd2b98c29
Merge 3.5 (Issue #24528 )
2015-06-30 12:49:18 -04:00
Yury Selivanov
9dec03571f
Issue #24528 : Improve error message for awaits in comprehensions
2015-06-30 12:49:04 -04:00
Yury Selivanov
6edc2f7549
Issue #24400 : Merge 3.5
2015-06-22 12:31:24 -04:00
Yury Selivanov
5376ba9630
Issue #24400 : Introduce a distinct type for 'async def' coroutines.
...
Summary of changes:
1. Coroutines now have a distinct, separate from generators
type at the C level: PyGen_Type, and a new typedef PyCoroObject.
PyCoroObject shares the initial segment of struct layout with
PyGenObject, making it possible to reuse existing generators
machinery. The new type is exposed as 'types.CoroutineType'.
As a consequence of having a new type, CO_GENERATOR flag is
no longer applied to coroutines.
2. Having a separate type for coroutines made it possible to add
an __await__ method to the type. Although it is not used by the
interpreter (see details on that below), it makes coroutines
naturally (without using __instancecheck__) conform to
collections.abc.Coroutine and collections.abc.Awaitable ABCs.
[The __instancecheck__ is still used for generator-based
coroutines, as we don't want to add __await__ for generators.]
3. Add new opcode: GET_YIELD_FROM_ITER. The opcode is needed to
allow passing native coroutines to the YIELD_FROM opcode.
Before this change, 'yield from o' expression was compiled to:
(o)
GET_ITER
LOAD_CONST
YIELD_FROM
Now, we use GET_YIELD_FROM_ITER instead of GET_ITER.
The reason for adding a new opcode is that GET_ITER is used
in some contexts (such as 'for .. in' loops) where passing
a coroutine object is invalid.
4. Add two new introspection functions to the inspec module:
getcoroutinestate(c) and getcoroutinelocals(c).
5. inspect.iscoroutine(o) is updated to test if 'o' is a native
coroutine object. Before this commit it used abc.Coroutine,
and it was requested to update inspect.isgenerator(o) to use
abc.Generator; it was decided, however, that inspect functions
should really be tailored for checking for native types.
6. sys.set_coroutine_wrapper(w) API is updated to work with only
native coroutines. Since types.coroutine decorator supports
any type of callables now, it would be confusing that it does
not work for all types of coroutines.
7. Exceptions logic in generators C implementation was updated
to raise clearer messages for coroutines:
Before: TypeError("generator raised StopIteration")
After: TypeError("coroutine raised StopIteration")
2015-06-22 12:19:30 -04:00
Serhiy Storchaka
dcbff7d4e1
Added the const qualifier for char* argument of Py_EnterRecursiveCall().
2015-06-21 16:27:36 +03:00
Serhiy Storchaka
289dd19124
Added the const qualifier for char* argument of Py_EnterRecursiveCall().
2015-06-21 16:27:09 +03:00
Serhiy Storchaka
5fa22fc088
Added the const qualifier for char* argument of Py_EnterRecursiveCall().
2015-06-21 16:26:28 +03:00
Serhiy Storchaka
86621ae19b
Issue #24436 : Added const qualifiers for char* arguments of _PyTraceback_Add.
...
Patch by Michael Ensslin.
2015-06-21 16:00:58 +03:00
Serhiy Storchaka
ccfdf0923a
Issue #24436 : Added const qualifiers for char* arguments of _PyTraceback_Add.
...
Patch by Michael Ensslin.
2015-06-21 16:00:33 +03:00
Serhiy Storchaka
73c95f1949
Issue #24436 : Added const qualifiers for char* arguments of _PyTraceback_Add.
...
Patch by Michael Ensslin.
2015-06-21 15:59:46 +03:00
Serhiy Storchaka
ec466a15d9
Fixed indentation of Python examples in C comments.
2015-06-11 00:09:32 +03:00
Serhiy Storchaka
553e156921
Fixed indentation of Python examples in C comments.
2015-06-11 00:07:47 +03:00
Serhiy Storchaka
d741a88049
Fixed indentation of Python examples in C comments.
2015-06-11 00:06:39 +03:00
Yury Selivanov
94c2263005
Issue 24374: Plug refleak in set_coroutine_wrapper
2015-06-04 10:16:51 -04:00
Yury Selivanov
eb698fe68c
Issue 24342: No need to use PyAPI_FUNC for _PyEval_ApplyCoroutineWrapper
2015-06-02 22:30:31 -04:00
Yury Selivanov
72ea27c89b
Issue 24366: Merge 3.4
2015-06-02 18:54:31 -04:00
Yury Selivanov
e12685757f
Issue 24366: Merge 3.3
2015-06-02 18:54:09 -04:00
Yury Selivanov
614bfcc953
Issue 24366: Indent code (thanks to li4ick for reporting).
2015-06-02 18:53:46 -04:00
Yury Selivanov
aab3c4a211
Issue 24342: Let wrapper set by sys.set_coroutine_wrapper fail gracefully
2015-06-02 18:43:51 -04:00
Yury Selivanov
d8cf382ee7
Issue 24017: Make PyEval_(Set|Get)CoroutineWrapper private
2015-06-01 12:15:23 -04:00
Serhiy Storchaka
ac5569b1fa
Issue #24115 : Update uses of PyObject_IsTrue(), PyObject_Not(),
...
PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly.
2015-05-30 17:48:19 +03:00
Serhiy Storchaka
fa494fd883
Issue #24115 : Update uses of PyObject_IsTrue(), PyObject_Not(),
...
PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly.
2015-05-30 17:45:22 +03:00
Serhiy Storchaka
8b2e8b6cce
Specify default values of semantic booleans in Argument Clinic generated signatures as booleans.
2015-05-30 11:30:39 +03:00
Serhiy Storchaka
7e810a6e3d
Use converter names instead of format units in Argument Clinic descriptions
...
in builtin and _crypt modules.
2015-05-30 11:09:35 +03:00
Benjamin Peterson
e20056c8f7
fix importing one char extension modules ( closes #24328 )
2015-05-29 17:10:30 -05:00
Benjamin Peterson
264be6f48f
remove STORE_MAP, since it's unused
2015-05-28 14:40:08 -05:00
Benjamin Peterson
ee85339cc6
in dict displays, evaluate the key before the value ( closes #11205 )
...
Patch partially by Steve Dougherty.
2015-05-28 14:30:26 -05:00
Yury Selivanov
6ef059097c
Issue 24017: Drop getawaitablefunc and friends in favor of unaryfunc.
2015-05-28 11:21:31 -04:00
Nick Coghlan
55871f04bf
Issue #24285 : fix importing extensions from packages
2015-05-26 21:48:17 +10:00
Steve Dower
adc2fb8a6a
Issue #24268 : Fix import naming when loading extension modules. Patch by Petr Viktorin.
2015-05-23 14:13:41 -07:00
Steve Dower
7689154f58
Issue #24268 : Fixes generation of init import name on Windows.
2015-05-23 08:59:25 -07:00
Nick Coghlan
d5cacbb1d9
PEP 489: Multi-phase extension module initialization
...
Known limitations of the current implementation:
- documentation changes are incomplete
- there's a reference leak I haven't tracked down yet
The leak is most visible by running:
./python -m test -R3:3 test_importlib
However, you can also see it by running:
./python -X showrefcount
Importing the array or _testmultiphase modules, and
then deleting them from both sys.modules and the local
namespace shows significant increases in the total
number of active references each cycle. By contrast,
with _testcapi (which continues to use single-phase
initialisation) the global refcounts stabilise after
a couple of cycles.
2015-05-23 22:24:10 +10:00
Serhiy Storchaka
c0937f79ec
Issue #24102 : Fixed exception type checking in standard error handlers.
2015-05-18 16:10:40 +03:00
Serhiy Storchaka
ca7fecb038
Issue #24102 : Fixed exception type checking in standard error handlers.
2015-05-18 16:08:52 +03:00
Benjamin Peterson
de12b79cd6
allow test node after ** in calls ( closes #24176 )
2015-05-16 09:44:45 -04:00
Eric Snow
183a941bc1
Issue #24192 : Fix namespace package imports.
2015-05-15 21:54:59 -06:00
Nick Coghlan
baaadbf70d
Issue 24017: fix for "async with" refcounting
...
* adds missing INCREF in WITH_CLEANUP_START
* adds missing DECREF in WITH_CLEANUP_FINISH
* adds several new tests Yury created while investigating this
2015-05-13 15:54:02 +10:00
Benjamin Peterson
baa2e562ce
use our normal bracing style
2015-05-12 11:32:41 -04:00
Yury Selivanov
1dde177f82
Issue #24017 : Plug ref leak.
2015-05-12 11:30:14 -04:00
Yury Selivanov
f487a005d6
Fix warnings for PyEval_GetCoroutineWrapper
2015-05-11 23:19:34 -04:00
Yury Selivanov
7544508f02
PEP 0492 -- Coroutines with async and await syntax. Issue #24017 .
2015-05-11 22:57:16 -04:00
Yury Selivanov
8170e8c0d1
PEP 479: Change StopIteration handling inside generators.
...
Closes issue #22906 .
2015-05-09 11:44:30 -04:00
Benjamin Peterson
95283fb589
Merge 3.4
2015-05-07 18:42:16 -04:00
Benjamin Peterson
9e77f72fb2
shorten capsule name macro; it doesn't need to be so long
2015-05-07 18:41:47 -04:00
Benjamin Peterson
025e9ebd0a
PEP 448: additional unpacking generalizations ( closes #2292 )
...
Patch by Neil Girdhar.
2015-05-05 20:16:41 -04:00
Benjamin Peterson
63a6a6fd41
merge 3.4 ( #24096 )
2015-05-03 11:29:58 -04:00
Benjamin Peterson
8c59816b70
merge 3.3 ( #24096 )
2015-05-03 11:28:46 -04:00
Benjamin Peterson
deff2b76ec
be more robust against the filters list changing under us ( closes #24096 )
2015-05-03 11:23:37 -04:00
Eric Snow
32439d6eb6
Issue #23911 : Move path-based bootstrap code to a separate frozen module.
2015-05-02 19:15:18 -06:00
Benjamin Peterson
1dfd247c1b
remove the concept of an unoptimized function scope from the compiler, since it can't happen anymore
2015-04-27 21:44:22 -04:00
Gregory P. Smith
f789465eed
Silence a gcc "may be used uninitialized" compiler warning. Not true.
...
Initializing retval prevents the naive warning.
2015-04-25 23:51:39 -07:00
Gregory P. Smith
5d0ccd2f91
Add missing PyAPI_FUNC macro's to the public functions as other .c files do
...
in hopes that this fixes the windows extension module link error for modules
trying to call _Py_strhex functions. issue9951.
2015-04-26 04:59:52 +00:00
Gregory P. Smith
e3f6393b52
Add the files missing from c9f1630cf2b1 for issue9951.
...
hg status should be my friend more often...
2015-04-26 00:41:00 +00:00
Benjamin Peterson
51f58059f6
merge 3.4 ( #24049 )
2015-04-24 12:02:53 -04:00
Benjamin Peterson
9bdd61338d
remove dead *-import checking code ( closes #24049 )
2015-04-24 12:02:29 -04:00
Serhiy Storchaka
247789cee9
Issue #24007 : Argument Clinic now writes the format of PyArg_Parse*() at the
...
same line as function name.
2015-04-24 00:40:51 +03:00
Christian Heimes
1a084a882b
Issue #23998 : PyImport_ReInitLock() now checks for lock allocation error
2015-04-19 21:15:02 +02:00
Christian Heimes
e0ac2beb4f
Issue #23998 : PyImport_ReInitLock() now checks for lock allocation error
2015-04-19 21:12:14 +02:00
Christian Heimes
418fd74f87
Issue #23998 : PyImport_ReInitLock() now checks for lock allocation error
2015-04-19 21:08:42 +02:00
Serhiy Storchaka
db46fea8b6
Fixed error message for the "u#" format code.
2015-04-19 21:13:00 +03:00
Serhiy Storchaka
d6e53dab86
Fixed error message for the "u#" format code.
2015-04-19 21:11:30 +03:00
Christian Heimes
e8e4283cec
Remove redundant check for tb != NULL to shut up Coverity . It has been set to Py_None a couple of lines earlier.
...
CID 1291697 (#1 of 1): Dereference before null check (REVERSE_INULL)
check_after_deref: Null-checking tb suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
2015-04-16 17:25:45 +02:00
R David Murray
4171bbe687
#23949 : Improve tuple unpacking error messages.
...
Patch by Arnon Yaari.
2015-04-15 17:08:45 -04:00
Larry Hastings
89964c48d1
Issue #23944 : Argument Clinic now wraps long impl prototypes at column 78.
2015-04-14 18:07:59 -04:00
Brett Cannon
f299abdafa
Issue #23731 : Implement PEP 488.
...
The concept of .pyo files no longer exists. Now .pyc files have an
optional `opt-` tag which specifies if any extra optimizations beyond
the peepholer were applied.
2015-04-13 14:21:02 -04:00
Steve Dower
8fc8980c96
Issue #23524 : Replace _PyVerify_fd function with calls to _set_thread_local_invalid_parameter_handler.
2015-04-12 00:26:27 -04:00
Benjamin Peterson
55c14355ac
fix building without threads ( closes #23877 )
2015-04-06 09:59:23 -04:00
Serhiy Storchaka
92e8af67a8
Issue #23492 : Argument Clinic now generates argument parsing code with
...
PyArg_Parse instead of PyArg_ParseTuple if possible.
2015-04-04 00:12:11 +03:00
Serhiy Storchaka
1009bf18b3
Issue #23501 : Argumen Clinic now generates code into separate files by default.
2015-04-03 23:53:51 +03:00
Victor Stinner
13019fdef3
Issue #22117 : Add a new _PyTime_FromSeconds() function
...
Fix also _Py_InitializeEx_Private(): initialize time before initializing
import, import_init() uses the _PyTime API (for thread locks).
2015-04-03 13:10:54 +02:00
Serhiy Storchaka
1399a01b90
Issue #22977 : Fixed formatting Windows error messages on Wine.
...
Patch by Martin Panter.
2015-04-02 09:50:06 +03:00
Serhiy Storchaka
f41f8f9974
Issue #22977 : Fixed formatting Windows error messages on Wine.
...
Patch by Martin Panter.
2015-04-02 09:47:27 +03:00
Victor Stinner
97f86b82b7
Issue #23836 : Use _Py_write_noraise() to retry on EINTR in _Py_DumpTraceback()
...
and _Py_DumpTracebackThreads(). Document also these functions to explain that
the caller is responsible to call PyErr_CheckSignals().
2015-04-01 18:38:01 +02:00
Victor Stinner
6f4fae8a95
Issue #23836 : Document functions releasing the GIL in fileutils.c
2015-04-01 18:34:32 +02:00
Victor Stinner
82c3e4599d
Issue #23836 : Add _Py_write_noraise() function
...
Helper to write() which retries write() if it is interrupted by a signal (fails
with EINTR).
2015-04-01 18:34:45 +02:00
Victor Stinner
62d1c70eff
Issue #22117 , issue #23485 : Fix _PyTime_AsMilliseconds() and
...
_PyTime_AsMicroseconds() rounding.
Add also unit tests.
2015-04-01 17:47:07 +02:00
Victor Stinner
fa09beb150
Issue #23485 : Add _PyTime_FromMillisecondsObject() function
2015-03-30 21:36:10 +02:00
Victor Stinner
81c6df5c0f
(Merge 3.4) Issue #22585 : os.urandom() now releases the GIL when the
...
getentropy() is used (OpenBSD 5.6+).
2015-03-30 11:19:07 +02:00
Victor Stinner
9aa1331c6f
Issue #22585 : os.urandom() now releases the GIL when the getentropy() is used
...
(OpenBSD 5.6+).
2015-03-30 11:18:30 +02:00
Victor Stinner
79b74aeb20
Issue #22181 : os.urandom() now releases the GIL when the getrandom()
...
implementation is used.
2015-03-30 11:16:40 +02:00
Victor Stinner
45cff0c0e6
Issue #22117 : Try to fix rounding in conversion from Python double to _PyTime_t
...
using the C volatile keyword.
2015-03-30 10:22:16 +02:00
Victor Stinner
e134a7fe36
Issue #23752 : _Py_fstat() is now responsible to raise the Python exception
...
Add _Py_fstat_noraise() function when a Python exception is not welcome.
2015-03-30 10:09:31 +02:00
Victor Stinner
a695f83f0d
Issue #22117 : Remove _PyTime_ROUND_DOWN and _PyTime_ROUND_UP rounding methods
...
Use _PyTime_ROUND_FLOOR and _PyTime_ROUND_CEILING instead.
2015-03-30 03:57:14 +02:00
Victor Stinner
bcdd777d3c
Issue #22117 : Add _PyTime_ROUND_CEILING rounding method for timestamps
...
Add also more tests for ROUNd_FLOOR.
2015-03-30 03:52:49 +02:00
Victor Stinner
edddf991d9
Issue #22117 : Add assertions to _PyTime_AsTimeval() and _PyTime_AsTimespec() to
...
check that microseconds and nanoseconds fits into the specified range.
2015-03-30 02:54:57 +02:00
Victor Stinner
ea9c0dd2c2
Issue #22117 : Fix usage of _PyTime_AsTimeval()
...
Add _PyTime_AsTimeval_noraise() function. Call it when it's not possible (or
not useful) to raise a Python exception on overflow.
2015-03-30 02:51:13 +02:00
Victor Stinner
f81f0f9c63
Issue #22117 : Fix rounding and implement _PyTime_ROUND_FLOOR in:
...
- _PyTime_ObjectToTime_t()
- _PyTime_ObjectToTimespec()
- _PyTime_ObjectToTimeval()
2015-03-30 00:44:06 +02:00
Victor Stinner
1bd18ba9a7
Issue #22117 : Cleanup pytime.c/.h
2015-03-30 00:25:38 +02:00
Victor Stinner
09e5cf28ae
Issue #22117 : Use the _PyTime_t API in _datetime.datetime() constructor
...
* Remove _PyTime_gettimeofday()
* Add _PyTime_GetSystemClock()
2015-03-30 00:09:18 +02:00
Victor Stinner
cb0c60258b
Issue #22117 : Fix _PyTime_GetMonotonicClock() and
...
_PyTime_GetSystemClockWithInfo() to not raise an exception and return 0 on
error (it should never occur)
2015-03-28 05:24:19 +01:00
Victor Stinner
02937aab13
Issue #22117 : Add the new _PyTime_ROUND_FLOOR rounding method for the datetime
...
module. time.clock_settime() now uses this rounding method instead of
_PyTime_ROUND_DOWN to handle correctly dates before 1970.
2015-03-28 05:02:39 +01:00
Victor Stinner
b3b4544070
Issue #22117 : Use the _PyTime_t API for time.clock_settime()
...
Remove also the now unused _PyTime_AddDouble() function.
2015-03-28 04:09:41 +01:00
Victor Stinner
c337838af7
Issue #22117 : Use the new _PyTime_t API in the select module
2015-03-28 05:07:51 +01:00
Victor Stinner
f5faad2bf0
Issue #22117 : The thread module uses the new _PyTime_t timestamp API
...
Add also a new _PyTime_AsMicroseconds() function.
threading.TIMEOUT_MAX is now be smaller: only 292 years instead of 292,271
years on 64-bit system for example. Sorry, your threads will hang a *little
bit* shorter. Call me if you want to ensure that your locks wait longer, I can
share some tricks with you.
2015-03-28 03:52:05 +01:00
Victor Stinner
95e9cef6f0
Issue #22117 : Write unit tests for _PyTime_AsTimeval()
...
* _PyTime_AsTimeval() now ensures that tv_usec is always positive
* _PyTime_AsTimespec() now ensures that tv_nsec is always positive
* _PyTime_AsTimeval() now returns an integer on overflow instead of raising an
exception
2015-03-28 01:26:47 +01:00
Victor Stinner
34dc0f46ae
Issue #22117 : The signal modules uses the new _PyTime_t API
...
* Add _PyTime_AsTimespec()
* Add unit tests for _PyTime_AsTimespec()
2015-03-27 18:19:03 +01:00
Victor Stinner
a47b881d86
Issue #22117 : time.time() now uses the new _PyTime_t API
...
* Add _PyTime_GetSystemClockWithInfo()
2015-03-27 18:16:17 +01:00
Victor Stinner
4bfb460d88
Issue #22117 : time.monotonic() now uses the new _PyTime_t API
...
* Add _PyTime_FromNanoseconds()
* Add _PyTime_AsSecondsDouble()
* Add unit tests for _PyTime_AsSecondsDouble()
2015-03-27 22:27:24 +01:00
Victor Stinner
992c43fec9
Issue #22117 : Fix rounding in _PyTime_FromSecondsObject()
...
* Rename _PyTime_FromObject() to _PyTime_FromSecondsObject()
* Add _PyTime_AsNanosecondsObject() and _testcapi.pytime_fromsecondsobject()
* Add unit tests
2015-03-27 17:12:45 +01:00
Victor Stinner
eb352295fd
Issue #23451 , #22117 : Python 3.5 now requires Windows Vista or newer, so
...
GetTickCount64() is now always available.
2015-03-27 14:12:08 +01:00
Victor Stinner
cb29f0177c
Issue #22117 : Add a new Python timestamp format _PyTime_t to pytime.h
...
In practice, _PyTime_t is a number of nanoseconds. Its C type is a 64-bit
signed number. It's integer value is in the range [-2^63; 2^63-1]. In seconds,
the range is around [-292 years; +292 years]. In term of Epoch timestamp
(1970-01-01), it can store a date between 1677-09-21 and 2262-04-11.
The API has a resolution of 1 nanosecond and use integer number. With a
resolution on 1 nanosecond, 64-bit IEEE 754 floating point numbers loose
precision after 194 days. It's not the case with this API. The drawback is
overflow for values outside [-2^63; 2^63-1], but these values are unlikely for
most Python modules, except of the datetime module.
New functions:
- _PyTime_GetMonotonicClock()
- _PyTime_FromObject()
- _PyTime_AsMilliseconds()
- _PyTime_AsTimeval()
This change uses these new functions in time.sleep() to avoid rounding issues.
The new API will be extended step by step, and the old API will be removed step
by step. Currently, some code is duplicated just to be able to move
incrementally, instead of pushing a large change at once.
2015-03-27 13:31:18 +01:00
Victor Stinner
81f241ab2e
Issue #23571 : If io.TextIOWrapper constructor fails in _Py_DisplaySourceLine(),
...
close the binary file to fix a resource warning.
2015-03-25 02:25:25 +01:00
Victor Stinner
84092ac370
Issue #23571 : Fix reentrant call to Py_FatalError()
...
Flushing sys.stdout and sys.stderr in Py_FatalError() can call again
Py_FatalError(). Add a reentrant flag to detect this case and just abort at the
second call.
2015-03-25 01:54:46 +01:00
Victor Stinner
ec4f9592f5
Issue #23571 : Py_FatalError() now tries to flush sys.stdout and sys.stderr
...
It should help to see exceptions when stderr if buffered: PyErr_Display() calls
sys.stderr.write(), it doesn't write into stderr file descriptor directly.
2015-03-24 13:44:35 +01:00
Victor Stinner
0e98a76b65
Issue #23571 : Enhance Py_FatalError()
...
* Display the current Python stack if an exception was raised but the exception
has no traceback
* Disable faulthandler if an exception was raised (before it was only disabled
if no exception was raised)
* To display the current Python stack, call PyGILState_GetThisThreadState()
which works even if the GIL was released
2015-03-24 11:24:06 +01:00
Victor Stinner
39183dfc68
Merge 3.4 (traceback)
2015-03-25 02:30:01 +01:00
Victor Stinner
53345a40bc
(Merge 3.4) Issue #23571 : Fix reentrant call to Py_FatalError()
...
Flushing sys.stdout and sys.stderr in Py_FatalError() can call again
Py_FatalError(). Add a reentrant flag to detect this case and just abort at the
second call.
2015-03-25 01:55:14 +01:00
Victor Stinner
e0deff31d3
(Merge 3.4) Issue #23571 : Py_FatalError() now tries to flush sys.stdout and
...
sys.stderr
It should help to see exceptions when stderr if buffered: PyErr_Display() calls
sys.stderr.write(), it doesn't write into stderr file descriptor directly.
2015-03-24 13:46:18 +01:00
Victor Stinner
de821befd4
Issue #23571 : PyErr_FormatV() and PyErr_SetObject() now always clear the
...
current exception because they can run arbitrary Python code and so no
exception must be set.
2015-03-24 12:41:23 +01:00
Victor Stinner
91afbb6088
Issue #23753 : Move _Py_wstat() from Python/fileutils.c to Modules/getpath.c
...
I expected more users of _Py_wstat(), but in practice it's only used by
Modules/getpath.c. Move the function because it's not needed on Windows.
Windows uses PC/getpathp.c which uses the Win32 API (ex: GetFileAttributesW())
not the POSIX API.
2015-03-24 12:16:28 +01:00
Victor Stinner
10dc48497e
(Merge 3.4) Issue #23571 : Enhance Py_FatalError()
...
* Display the current Python stack if an exception was raised but the exception
has no traceback
* Disable faulthandler if an exception was raised (before it was only disabled
if no exception was raised)
* To display the current Python stack, call PyGILState_GetThisThreadState()
which works even if the GIL was released
2015-03-24 12:01:30 +01:00
Victor Stinner
f329878e74
Issue #23753 : Python doesn't support anymore platforms without stat() or
...
fstat(), these functions are always required.
Remove HAVE_STAT and HAVE_FSTAT defines, and stop supporting DONT_HAVE_STAT and
DONT_HAVE_FSTAT.
2015-03-24 10:27:50 +01:00
Victor Stinner
efde146b0c
Issue #23571 : _Py_CheckFunctionResult() now gives the name of the function
...
which returned an invalid result (result+error or no result without error) in
the exception message.
Add also unit test to check that the exception contains the name of the
function.
Special case: the final _PyEval_EvalFrameEx() check doesn't mention the
function since it didn't execute a single function but a whole frame.
2015-03-21 15:04:43 +01:00
Victor Stinner
a3c0202eb5
Issue #23708 : Save/restore errno in _Py_read() and _Py_write()
...
Save and then restore errno because PyErr_CheckSignals() and
PyErr_SetFromErrno() can modify it.
2015-03-20 11:58:18 +01:00
Victor Stinner
7f04d4d4b7
Issue #23708 : Split assertion expression in two assertions in _Py_read() and
...
_Py_write() to know which test failed on the buildbot "AMD64 Snow Leop 3.x".
2015-03-20 11:21:41 +01:00
Victor Stinner
580ef1345a
Cleanup pytime.c: add XXX_TO_YYY constants (ex: SEC_TO_US)
2015-03-20 01:55:04 +01:00
Victor Stinner
9a8089b32a
Issue #23646 : Enhance precision of time.sleep() and socket timeout when
...
interrupted by a signal
Add a new _PyTime_AddDouble() function and remove _PyTime_ADD_SECONDS() macro.
The _PyTime_ADD_SECONDS only supported an integer number of seconds, the
_PyTime_AddDouble() has subsecond resolution.
2015-03-20 01:42:20 +01:00
Victor Stinner
c1cf4f7ef9
Issue #23708 : Fix _Py_read() compilation error on Windows
...
Fix typo: self->fd => fd
2015-03-19 23:53:04 +01:00
Victor Stinner
c9382eb7ae
Issue #23707 : On UNIX, os.urandom() now calls the Python signal handler when
...
read() is interrupted by a signal.
dev_urandom_python() now calls _Py_read() helper instead of calling directly
read().
2015-03-19 23:36:33 +01:00
Victor Stinner
c7cd12da60
Issue #22181 : Fix dev_urandom_noraise(), try calling py_getrandom() before
...
opening /dev/urandom.
2015-03-19 23:24:45 +01:00
Victor Stinner
66aab0c4b5
Issue #23708 : Add _Py_read() and _Py_write() functions to factorize code handle
...
EINTR error and special cases for Windows.
These functions now truncate the length to PY_SSIZE_T_MAX to have a portable
and reliable behaviour. For example, read() result is undefined if counter is
greater than PY_SSIZE_T_MAX on Linux.
2015-03-19 22:53:20 +01:00
Victor Stinner
9eb57c5fa5
Issue #22181 : The availability of the getrandom() is now checked in configure,
...
and stored in pyconfig.h as the new HAVE_GETRANDOM_SYSCALL define.
Fix os.urandom() tests using file descriptors if os.urandom() uses getrandom().
2015-03-19 22:21:49 +01:00
Serhiy Storchaka
009b811d67
Removed unintentional trailing spaces in non-external and non-generated C files.
2015-03-18 21:53:15 +02:00
Victor Stinner
0c39b1b970
Initialize variables to prevent GCC warnings
2015-03-18 15:02:06 +01:00
Victor Stinner
938b0b9fee
Fix compiler warning in dtoa.c
2015-03-18 15:01:44 +01:00
Victor Stinner
59f7fb29ec
Issue #22181 : On Linux, os.urandom() now uses the new getrandom() syscall if
...
available, syscall introduced in the Linux kernel 3.17. It is more reliable
and more secure, because it avoids the need of a file descriptor and waits
until the kernel has enough entropy.
2015-03-18 14:39:33 +01:00
Victor Stinner
5200f55024
Issue #19428 : Handle PyMarshal_Read*() errors in run_pyc_file()
...
Detect also earlier PyMarshal_Read*() errors in zipimport.
2015-03-18 13:56:25 +01:00
Victor Stinner
a47fc5c2dd
Issue #23694 : Handle EINTR in _Py_open() and _Py_fopen_obj()
...
Retry open()/fopen() if it fails with EINTR and the Python signal handler
doesn't raise an exception.
2015-03-18 09:52:54 +01:00
Victor Stinner
e42ccd2bfd
Issue #23694 : Enhance _Py_fopen(), it now raises an exception on error
...
* If fopen() fails, OSError is raised with the original filename object.
* The GIL is now released while calling fopen()
2015-03-18 01:39:23 +01:00
Victor Stinner
a555cfcb73
Issue #23694 : Enhance _Py_open(), it now raises exceptions
...
* _Py_open() now raises exceptions on error. If open() fails, it raises an
OSError with the filename.
* _Py_open() now releases the GIL while calling open()
* Add _Py_open_noraise() when _Py_open() cannot be used because the GIL is not
held
2015-03-18 00:22:14 +01:00
Victor Stinner
59b356d659
Issue #23571 : Restore removed assert(!PyErr_Occurred()); in
...
PyEval_CallObjectWithKeywords()
Sorry Serhiy, I missed your explanation because the review email was moved to
my Spam folder :-(
2015-03-16 11:52:32 +01:00
Steve Dower
9aa31d5479
Fixes incorrect use of GetLastError where errno should be used.
2015-03-14 11:39:18 -07:00
Steve Dower
41e7244c06
Fixes incorrect use of GetLastError where errno should be used.
2015-03-14 11:38:27 -07:00
Serhiy Storchaka
91427733ea
Issue #23192 : Fixed generator lambdas. Patch by Bruno Cauet.
2015-03-11 18:22:29 +02:00
Serhiy Storchaka
c775ad615a
Issue #23192 : Fixed generator lambdas. Patch by Bruno Cauet.
2015-03-11 18:20:35 +02:00
Steve Dower
8acde7dcce
Issue #23524 : Change back to using Windows errors for _Py_fstat instead of the errno shim.
2015-03-07 18:14:07 -08:00
Victor Stinner
4a7cc88472
Issue #23571 : PyObject_Call(), PyCFunction_Call() and call_function() now
...
raise a SystemError if a function returns a result and raises an exception.
The SystemError is chained to the previous exception.
Refactor also PyObject_Call() and PyCFunction_Call() to make them more readable.
Remove some checks which became useless (duplicate checks).
Change reviewed by Serhiy Storchaka.
2015-03-06 23:35:27 +01:00
Steve Dower
d81431f587
Issue #23524 : Replace _PyVerify_fd function with calling _set_thread_local_invalid_parameter_handler on every thread.
2015-03-06 14:47:02 -08:00
Steve Dower
3e96f324dc
Issue #23451 : Update pyconfig.h for Windows to require Vista headers and remove unnecessary version checks.
2015-03-02 08:01:10 -08:00
Steve Dower
bf1f376b3e
Issue #23152 : Renames time_t_to_FILE_TIME to _Py_time_t_to_FILE_TIME, removes unused struct win32_stat and return value
2015-02-21 15:26:02 -08:00
Steve Dower
a2af1a5a5a
Issue #23152 : Renames attribute_data_to_stat to _Py_attribute_data_to_stat
2015-02-21 10:04:10 -08:00
Steve Dower
f2f373f593
Issue #23152 : Implement _Py_fstat() to support files larger than 2 GB on Windows.
...
fstat() may fail with EOVERFLOW on files larger than 2 GB because the file size type is an signed 32-bit integer.
2015-02-21 08:44:05 -08:00
Serhiy Storchaka
483405bcca
Issue #22883 : Got rid of outdated references to PyInt and PyString in comments.
2015-02-17 10:14:30 +02:00
Serhiy Storchaka
67559bf8f1
Issue #23450 : Silenced compiler warnings and added asserts in peephole optimizer.
2015-02-16 21:13:24 +02:00
Serhiy Storchaka
26861b0b29
Issue #23450 : Fixed possible integer overflows.
2015-02-16 20:52:17 +02:00
Serhiy Storchaka
4d0d982985
Issue #23446 : Use PyMem_New instead of PyMem_Malloc to avoid possible integer
...
overflows. Added few missed PyErr_NoMemory().
2015-02-16 13:33:32 +02:00
Serhiy Storchaka
1a1ff29659
Issue #23446 : Use PyMem_New instead of PyMem_Malloc to avoid possible integer
...
overflows. Added few missed PyErr_NoMemory().
2015-02-16 13:28:22 +02:00
Serhiy Storchaka
53fa8b2a4b
Fixed few compiler warnings.
2015-02-16 09:40:12 +02:00
Benjamin Peterson
f80ccf27cb
merge 3.4 ( #22633 )
2015-02-14 15:17:47 -05:00
Benjamin Peterson
2476b98acf
avoid reading unallocated memory when argc == 0 ( closes #22633 )
2015-02-14 15:16:32 -05:00
Serhiy Storchaka
c07422c119
Splitted the WFILE structure to WFILE and RFILE.
2015-02-11 16:18:09 +02:00
Serhiy Storchaka
c1efe5f039
Issue #23344 : marshal.dumps() is now 20-25% faster on average.
2015-02-11 15:54:54 +02:00
Serhiy Storchaka
ce921c62cc
Issue #20416 : marshal.dumps() with protocols 3 and 4 is now 40-50% faster on
...
average.
2015-02-11 15:53:31 +02:00
Serhiy Storchaka
3dd3e26680
Issue #22896 : Avoid to use PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
...
and PyObject_AsWriteBuffer().
2015-02-03 01:25:42 +02:00
Serhiy Storchaka
4fdb68491e
Issue #22896 : Avoid to use PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
...
and PyObject_AsWriteBuffer().
2015-02-03 01:21:08 +02:00
Benjamin Peterson
f86d1fdab7
merge 3.4 ( #21295 )
2015-02-02 10:52:56 -05:00
Benjamin Peterson
7a66fc22ad
revert lineno and col_offset changes from #16795 ( closes #21295 )
2015-02-02 10:51:20 -05:00
Victor Stinner
13a1c6022b
Merge 3.4 (generator)
2015-01-31 11:08:40 +01:00
Victor Stinner
26f7b8acdc
Issue #23353 : Fix the exception handling of generators in PyEval_EvalFrameEx().
...
At entry, save or swap the exception state even if PyEval_EvalFrameEx() is
called with throwflag=0. At exit, the exception state is now always restored or
swapped, not only if why is WHY_YIELD or WHY_RETURN. Patch co-written with
Antoine Pitrou.
2015-01-31 10:29:47 +01:00
Serhiy Storchaka
aaef05f003
Fixed memory leak in marshal.
2015-01-28 17:11:12 +02:00
Serhiy Storchaka
000daaee57
Fixed memory leak in marshal.
2015-01-28 17:10:48 +02:00
Serhiy Storchaka
07985ef387
Issue #22286 : The "backslashreplace" error handlers now works with
...
decoding and translating.
2015-01-25 22:56:57 +02:00
Serhiy Storchaka
82e07b92b3
Issue #23181 : More "codepoint" -> "code point".
2015-01-18 11:33:31 +02:00
Serhiy Storchaka
d3faf43f9b
Issue #23181 : More "codepoint" -> "code point".
2015-01-18 11:28:37 +02:00
Brett Cannon
02d8454002
Issue #23014 : Make importlib.abc.Loader.create_module() required when
...
importlib.abc.Loader.exec_module() is also defined.
Before this change, create_module() was optional **and** could return
None to trigger default semantics. This change now reduces the
options for choosing default semantics to one and in the most
backporting-friendly way (define create_module() to return None).
2015-01-09 11:39:21 -05:00
Benjamin Peterson
f8693416b5
merge 3.4 ( #23165 )
2015-01-04 16:06:14 -06:00
Benjamin Peterson
10ecaa2416
merge 3.3 ( closes #23165 )
2015-01-04 16:05:39 -06:00
Benjamin Peterson
72c2a0f60a
merge 3.2 ( closes #23165 )
2015-01-04 16:03:59 -06:00
Benjamin Peterson
f18bf6fd2d
add some overflow checks before multiplying ( closes #23165 )
2015-01-04 16:03:17 -06:00
Benjamin Peterson
52074ac866
merge 3.4
2014-12-31 18:11:34 -06:00
Benjamin Peterson
a453749a78
merge 3.3
2014-12-31 18:11:22 -06:00
Benjamin Peterson
7919acb920
merge 3.2
2014-12-31 18:10:13 -06:00
Benjamin Peterson
47e782a67a
update for copyright for 2015
2014-12-31 18:09:36 -06:00
Victor Stinner
fe02e39029
Issue #22585 : On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(),
...
instead of reading /dev/urandom, to get pseudo-random bytes.
2014-12-21 01:16:38 +01:00
Victor Stinner
4d6a3d6c01
Issue #22585 : On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(),
...
instead of reading /dev/urandom, to get pseudo-random bytes.
2014-12-21 01:16:38 +01:00
Steve Dower
03a144bb6a
#22980 Adds platform and version tags to .pyd files
2014-12-15 20:45:23 -08:00
Zachary Ware
cd441c4a79
Update Python/importlib.h
2014-12-15 12:30:23 -06:00
Benjamin Peterson
7ced53cc63
merge 3.4 ( #23048 )
2014-12-13 16:08:15 -05:00
Benjamin Peterson
3cda0ed062
pop the loop block even for infinite while loops ( closes #23048 )
2014-12-13 16:06:19 -05:00
Victor Stinner
0b881dd50f
Issue #18028 : Fix aliasing issue in READ_TIMESTAMP() of ceval.c on x86_64,
...
when Python is configure with --with-tsc. Patch written by Christian Heimes.
2014-12-12 13:17:41 +01:00
Serhiy Storchaka
b757c83ec6
Issue #22581 : Use more "bytes-like object" throughout the docs and comments.
2014-12-05 22:25:22 +02:00
Barry Warsaw
9e4db75426
- Issue #22966 : Fix __pycache__ pyc file name clobber when pyc_compile is
...
asked to compile a source file containing multiple dots in the source file
name.
2014-12-01 17:23:55 -05:00
Barry Warsaw
2a413853f1
- Issue #22966 : Fix __pycache__ pyc file name clobber when pyc_compile is
...
asked to compile a source file containing multiple dots in the source file
name.
2014-12-01 17:10:10 -05:00
Serhiy Storchaka
56a6d855e2
Removed duplicated words in in comments and docs.
2014-12-01 18:28:43 +02:00
Victor Stinner
60b33cc6a5
Merge 3.4 (ceval.c)
2014-12-12 13:19:48 +01:00
Antoine Pitrou
5db1bb81ff
Issue #22696 : Add function :func:`sys.is_finalizing` to know about interpreter shutdown.
2014-12-07 01:28:27 +01:00
Serhiy Storchaka
92bf919ed0
Issue #22581 : Use more "bytes-like object" throughout the docs and comments.
2014-12-05 22:26:10 +02:00
Barry Warsaw
d32d4ae4ca
- Issue #22966 : Fix __pycache__ pyc file name clobber when pyc_compile is
...
asked to compile a source file containing multiple dots in the source file
name.
2014-12-01 17:52:43 -05:00
Serhiy Storchaka
83000a490a
Removed duplicated words in in comments and docs.
2014-12-01 18:30:14 +02:00
Benjamin Peterson
3663b58664
correct assertion
2014-11-26 14:39:54 -06:00
Benjamin Peterson
810aa6db34
fix variable name
2014-11-26 14:20:51 -06:00
Serhiy Storchaka
aacfcccdc3
Issue #19676 : Fixed integer overflow issue in "namereplace" error handler.
2014-11-26 12:11:40 +02:00
Serhiy Storchaka
166ebc4e5d
Issue #19676 : Added the "namereplace" error handler.
2014-11-25 13:57:17 +02:00
Berker Peksag
da8cef40e5
Issue #22934 : Update the comment to mention Programs/_freeze_importlib.c.
2014-11-24 23:26:08 +02:00
Antoine Pitrou
d3c53b6048
Update importlib.h
2014-11-23 16:01:20 +01:00
Zachary Ware
c4821d62b4
Closes #22869 : Move PyOS_CheckStack back to pythonrun.c
2014-11-21 23:35:12 -06:00
Steve Dower
9b59dd4781
Issue #22869 : Remove duplicate stack check from pythonrun.c
2014-11-21 20:33:12 -08:00
Brett Cannon
b6e2556d8f
Issue #22834 : Have import suppress FileNotFoundError when the current
...
working directory no longer exists.
Thanks to Martin Panter for the bug report.
2014-11-21 12:19:28 -05:00
Nick Coghlan
d600951748
Issue #22869 : Split pythonrun into two modules
...
- interpreter startup and shutdown code moved to a new
pylifecycle.c module
- Py_OptimizeFlag moved into the new module with the other
global flags
2014-11-20 21:39:37 +10:00
Serhiy Storchaka
df4518ca4b
Issue #22453 : Removed non-documented macro PyObject_REPR().
2014-11-18 23:34:33 +02:00
Serhiy Storchaka
42826566f5
Issue #22193 : Fixed integer overflow error in sys.getsizeof().
...
Fixed an error in _PySys_GetSizeOf declaration.
2014-11-15 13:22:27 +02:00
Serhiy Storchaka
030e92d1a5
Issue #22193 : Fixed integer overflow error in sys.getsizeof().
...
Fixed an error in _PySys_GetSizeOf declaration.
2014-11-15 13:21:37 +02:00
Victor Stinner
a5b335e62f
Issue #20597 , #21274 : Remove unused definition of PATH_MAX on GNU/Hurd,
...
MAXPATHLEN is now preferred.
2014-11-05 15:13:51 +01:00
Victor Stinner
ce43f38ace
Issue #20597 : Remove unused definition of PATH_MAX on Windows, MAXPATHLEN is
...
now preferred. Patch written by Jeffrey Armstrong.
2014-11-05 15:11:34 +01:00
Steve Dower
f6c69e6cc9
#22734 marshal needs a lower stack depth for debug builds on Windows
2014-11-01 15:15:16 -07:00
Victor Stinner
3188f828bb
(Merge 3.4) Issue #22762 : Fix _Py_DisplaySourceLine(), clear the exception if
...
PyFile_GetLine() failed. Patch written by Xavier de Gaye.
2014-10-30 10:17:59 +01:00
Victor Stinner
5e78f4daa8
Issue #22762 : Fix _Py_DisplaySourceLine(), clear the exception if
...
PyFile_GetLine() failed. Patch written by Xavier de Gaye.
2014-10-30 10:17:27 +01:00
Serhiy Storchaka
81f68a7d4b
Issue #22453 : Warn against the use of leaking macro PyObject_REPR().
2014-11-19 00:08:38 +02:00
Antoine Pitrou
0373a106a1
Issue #17636 : Circular imports involving relative imports are now supported.
2014-10-13 20:19:45 +02:00
Brett Cannon
5e8b04eefb
Issue #21052 : Don't raise ImportWarning for sys.meta_path or
...
sys.path_hooks when set to None during interpreter shutdown.
Thanks to Martin Panter for the initial bug report.
2014-10-10 10:54:28 -04:00
Serhiy Storchaka
78184af9b5
Issue #21715 : Extracted shared complicated code in the _io module to new
...
_PyErr_ChainExceptions() function.
2014-10-08 22:32:50 +03:00
Serhiy Storchaka
e2bd2a7186
Issue #21715 : Extracted shared complicated code in the _io module to new
...
_PyErr_ChainExceptions() function.
2014-10-08 22:31:52 +03:00
Antoine Pitrou
94262ebc9c
Issue #22462 : Fix pyexpat's creation of a dummy frame to make it appear in exception tracebacks.
...
Initial patch by Mark Shannon.
2014-10-08 20:02:40 +02:00
Antoine Pitrou
0ddbf4795f
Issue #22462 : Fix pyexpat's creation of a dummy frame to make it appear in exception tracebacks.
...
Initial patch by Mark Shannon.
2014-10-08 20:00:09 +02:00
R David Murray
861470c836
#16518 : Bring error messages in harmony with docs ("bytes-like object")
...
Some time ago we changed the docs to consistently use the term 'bytes-like
object' in all the contexts where bytes, bytearray, memoryview, etc are used.
This patch (by Ezio Melotti) completes that work by changing the error
messages that previously reported that certain types did "not support the
buffer interface" to instead say that a bytes-like object is required. (The
glossary entry for bytes-like object references the discussion of the buffer
protocol in the docs.)
2014-10-05 11:47:01 -04:00
Georg Brandl
edc3cbaaba
Copyright year update, add version to licenses.
2014-10-04 14:16:59 +02:00
Serhiy Storchaka
8d1e18ef1f
Issue #22518 : Fixed integer overflow issues in "backslashreplace",
...
"xmlcharrefreplace", and "surrogatepass" error handlers.
2014-10-04 14:17:50 +03:00
Serhiy Storchaka
4b1681832b
Issue #22518 : Fixed integer overflow issues in "backslashreplace",
...
"xmlcharrefreplace", and "surrogatepass" error handlers.
2014-10-04 14:15:49 +03:00
Serhiy Storchaka
2e374098ff
Issue #22518 : Fixed integer overflow issues in "backslashreplace",
...
"xmlcharrefreplace", and "surrogatepass" error handlers.
2014-10-04 14:15:49 +03:00
Victor Stinner
b86f08f743
faulthandler: enhance dump_ascii() to escape also non-printable ASCII
...
characters (U+0000..U+001f and U+007f).
2014-10-03 14:18:09 +02:00
Antoine Pitrou
0676a406bf
Issue #18711 : Add a new `PyErr_FormatV` function, similar to `PyErr_Format` but accepting a `va_list` argument.
2014-09-30 21:16:27 +02:00
Serhiy Storchaka
20b39b27d9
Removed redundant casts to `char *`.
...
Corresponding functions now accept `const char *` (issue #1772673 ).
2014-09-28 11:27:24 +03:00
Georg Brandl
daa910acde
Update importlib.h frozen bytecode (changed due to commit c0ca9d32aed4).
2014-09-24 09:08:12 +02:00
Serhiy Storchaka
cbcbfdf19f
Fixed reference leak in the "backslashreplace" error handler.
2014-09-23 19:59:34 +03:00
Serhiy Storchaka
8aa8c47db2
Fixed reference leak in the "backslashreplace" error handler.
2014-09-23 19:59:09 +03:00
Antoine Pitrou
e7811fca5e
Closes #11471 : avoid generating a JUMP_FORWARD instruction at the end of an if-block if there is no else-clause.
...
Original patch by Eugene Toder.
2014-09-18 03:06:50 +02:00
Antoine Pitrou
87538e7bc4
Issue #4180 : The warnings registries are now reset when the filters are modified.
2014-09-18 02:42:05 +02:00
Antoine Pitrou
cb0a006fd1
Issue #4180 : The warnings registries are now reset when the filters are modified.
2014-09-18 02:40:46 +02:00
Nick Coghlan
a0f33759fa
Merge fix for issue #22166 from 3.4
2014-09-15 23:55:16 +12:00
Nick Coghlan
8fad1676a2
Issue #22166 : clear codec caches in test_codecs
2014-09-15 23:50:44 +12:00
Serhiy Storchaka
d8a1447c99
Issue #22215 : Now ValueError is raised instead of TypeError when str or bytes
...
argument contains not permitted null character or byte.
2014-09-06 20:07:17 +03:00
Victor Stinner
5789cfbb56
Issue #22043 : Fix pymonotonic(), use tv_usec=-1 as a marker to skip
...
the monotonic test
2014-09-03 09:43:48 +02:00
Victor Stinner
ae58649721
Issue #22043 : time.monotonic() is now always available
...
threading.Lock.acquire(), threading.RLock.acquire() and socket operations now
use a monotonic clock, instead of the system clock, when a timeout is used.
2014-09-02 23:18:25 +02:00
Victor Stinner
9bb758cee7
Issue #22043 : Fix _PyTime_gettimeofday() if HAVE_GETTIMEOFDAY
...
Ensure also that the tv_usec field is consistent: in range [0; 999999].
2014-09-02 23:01:40 +02:00
Victor Stinner
282124b8c4
Closes #22258 : Fix the the internal function set_inheritable() on Illumos.
...
This platform exposes the function ioctl(FIOCLEX), but calling it fails with
errno is ENOTTY: "Inappropriate ioctl for device". set_inheritable() now falls
back to the slower fcntl() (F_GETFD and then F_SETFD).
2014-09-02 11:41:04 +02:00
Victor Stinner
8257b6283e
(Merge 3.4) Closes #22258 : Fix the the internal function set_inheritable() on
...
Illumos. This platform exposes the function ioctl(FIOCLEX), but calling it
fails with errno is ENOTTY: "Inappropriate ioctl for device". set_inheritable()
now falls back to the slower fcntl() (F_GETFD and then F_SETFD).
2014-09-02 11:49:48 +02:00
Victor Stinner
0011124dc2
Issue #22043 : _PyTime_Init() now checks if the system clock works.
...
Other changes:
* The whole _PyTime API is private (not defined if Py_LIMITED_API is set)
* _PyTime_gettimeofday_info() also returns -1 on error
* Simplify PyTime_gettimeofday(): only use clock_gettime(CLOCK_REALTIME) or
gettimeofday() on UNIX. Don't fallback to ftime() or time() anymore.
2014-08-29 16:31:59 +02:00
Victor Stinner
7efb83393c
Issue #22287 : On UNIX, _PyTime_gettimeofday() now uses
...
clock_gettime(CLOCK_REALTIME) if available. As a side effect, Python now
depends on the librt library on Solaris and on Linux (only with glibc older
than 2.17).
2014-08-29 15:41:08 +02:00
Victor Stinner
049e509a9f
Issue #22207 : Fix "comparison between signed and unsigned integers" warning in
...
test checking for integer overflow on Py_ssize_t type: cast explicitly to
size_t.
2014-08-17 22:20:00 +02:00
Victor Stinner
daca3d7e9b
Issue #22206 : Using pthread, PyThread_create_key() now sets errno to ENOMEM and
...
returns -1 (error) on integer overflow.
2014-08-17 22:11:06 +02:00
Nick Coghlan
f9e227e5a9
Issue #20184 : Add signature introspection for 30 of the builtins
...
Also adds a test to test_inspect to track progress on builtin
introspection support, to ensure it doesn't regress in the future.
2014-08-17 14:01:19 +10:00
Victor Stinner
98ea54c35c
Issue #22156 : Fix "comparison between signed and unsigned integers" compiler
...
warnings in the Python/ subdirectory.
2014-08-15 23:30:40 +02:00
Serhiy Storchaka
121be0d64b
Issue #22193 : Added private function _PySys_GetSizeOf() needed to implement
...
some __sizeof__() methods.
2014-08-14 22:22:35 +03:00
Serhiy Storchaka
547d3bc3a6
Issue #22193 : Added private function _PySys_GetSizeOf() needed to implement
...
some __sizeof__() methods.
2014-08-14 22:21:18 +03:00
Zachary Ware
1151c8b7bf
Closes #22146 : Merge with 3.4
2014-08-05 14:02:11 -05:00
Zachary Ware
9b33872812
Issue #22146 : Fix typo in __build_class__ error message
2014-08-05 14:01:10 -05:00
Victor Stinner
f6a271ae98
Issue #18395 : Rename ``_Py_char2wchar()`` to :c:func:`Py_DecodeLocale`, rename
...
``_Py_wchar2char()`` to :c:func:`Py_EncodeLocale`, and document these
functions.
2014-08-01 12:28:48 +02:00
Victor Stinner
1db9e7bb19
Issue #22054 : Add os.get_blocking() and os.set_blocking() functions to get and
...
set the blocking mode of a file descriptor (False if the O_NONBLOCK flag is
set, True otherwise). These functions are not available on Windows.
2014-07-29 22:32:47 +02:00
Nick Coghlan
973fe0ba7a
Issue #18093 : Factor out the programs that embed the runtime
2014-07-25 21:52:14 +10:00
Berker Peksag
d8089e0d04
Issue #16382 : Improve exception message of warnings.warn() for bad category.
...
Initial patch by Phil Elson.
2014-07-11 19:50:25 +03:00
Victor Stinner
ac7d80c7d0
(Merge 3.4) Issue #21925 : PyImport_Cleanup(): Remove unused parameter in
...
PySys_FormatStderr() call
2014-07-07 23:07:27 +02:00
Victor Stinner
ab826d11a3
Issue #21925 : PyImport_Cleanup(): Remove unused parameter in
...
PySys_FormatStderr() call
2014-07-07 23:06:15 +02:00
Ned Deily
744a1193aa
Issue #21891 : remove extraneous semicolon.
2014-06-30 23:31:33 -07:00
Ned Deily
529ea5d184
Issue #21891 : remove extraneous semicolon.
2014-06-30 23:31:14 -07:00
Benjamin Peterson
450c1586c0
merge 3.4
2014-06-17 00:34:56 -07:00
Benjamin Peterson
59830b6ec4
revert tstate_delete_common, since it's pretty much wrong
2014-06-17 00:34:46 -07:00
Benjamin Peterson
89cef795eb
merge 3.4
2014-06-16 23:49:09 -07:00
Benjamin Peterson
95d75194ac
remove extra call to tstate_delete_common (merge artifact)
2014-06-16 23:49:02 -07:00
Benjamin Peterson
7258e6da3b
merge 3.4
2014-06-16 23:08:29 -07:00
Benjamin Peterson
068f81e115
avoid a deadlock with the interpreter head lock and the GIL during finalization
2014-06-16 23:07:49 -07:00
Benjamin Peterson
e6bfdb9ca5
merge 3.4
2014-06-16 23:07:15 -07:00
Benjamin Peterson
17548dda51
check if the thread is finalizing after retaking the GIL
2014-06-16 22:59:07 -07:00
Victor Stinner
40ee30181f
Issue #21205 : Add a new ``__qualname__`` attribute to generator, the qualified
...
name, and use it in the representation of a generator (``repr(gen)``). The
default name of the generator (``__name__`` attribute) is now get from the
function instead of the code. Use ``gen.gi_code.co_name`` to get the name of
the code.
2014-06-16 15:59:28 +02:00
Terry Jan Reedy
4a518f02e2
Merge with 3.4
2014-06-16 03:05:53 -04:00
Terry Jan Reedy
f2fb73f675
Issue #19362 : Tweek len() doc and docstring to expand the indicated range of
...
arguments. Original patch by Gareth Rees.
2014-06-16 03:05:37 -04:00
Brett Cannon
42535f0104
Fix a parameter name to make sense again
2014-05-30 16:28:00 -04:00
Brett Cannon
2a17bde930
Issue #20383 : Introduce importlib.util.module_from_spec().
...
Along the way, dismantle importlib._bootstrap._SpecMethods as it was
no longer relevant and constructing the new function required
partially dismantling the class anyway.
2014-05-30 14:55:29 -04:00
Brett Cannon
fd4d0504df
Move import.c to use Clinic file output.
2014-05-30 11:21:14 -04:00
Eric Snow
12c5247be9
Issue #21226 : Merge from 3.4.
2014-05-29 12:32:39 -06:00
Eric Snow
58cfdd8af8
Issue #21226 : fix a ref leak.
2014-05-29 12:31:39 -06:00
Antoine Pitrou
5c8008e59d
Issue #21523 : Fix over-pessimistic computation of the stack effect of some opcodes in the compiler.
...
This also fixes a quadratic compilation time issue noticeable when compiling
code with a large number of "and" and "or" operators.
2014-05-23 11:47:32 +02:00
Antoine Pitrou
9961405ed1
Issue #21523 : Fix over-pessimistic computation of the stack effect of some opcodes in the compiler.
...
This also fixes a quadratic compilation time issue noticeable when compiling
code with a large number of "and" and "or" operators.
2014-05-23 11:46:03 +02:00
Raymond Hettinger
d4d84accb3
merge
2014-05-19 22:21:24 +01:00
Raymond Hettinger
2a54582d72
Issue 20620: Update the min()/max() docs for the new default argument.
...
Patch provided by Berker Peksag.
2014-05-19 22:20:52 +01:00
Victor Stinner
0d4e01ca07
Issue #13916 : Fix surrogatepass error handler on Windows
2014-05-16 14:46:20 +02:00
Serhiy Storchaka
88d8fb6af6
Issue #13916 : Disallowed the surrogatepass error handler for non UTF-*
...
encodings.
2014-05-15 14:37:42 +03:00
Victor Stinner
45e8e2f218
Issue #21490 : Add new C macros: Py_ABS() and Py_STRINGIFY()
...
Keep _Py_STRINGIZE() in PC/pyconfig.h to not introduce a dependency between
pyconfig.h and pymacros.h.
2014-05-14 17:24:35 +02:00
Eric Snow
b7f1be309e
Merge from 3.4 (for #21226 ).
2014-05-12 18:25:00 -06:00
Eric Snow
08197a4616
Issue #21226 : Set all attrs in PyImport_ExecCodeModuleObject.
2014-05-12 17:54:55 -06:00
Antoine Pitrou
1c33280c95
Issue #21425 : Fix flushing of standard streams in the interactive interpreter.
2014-05-11 13:43:31 +02:00
Antoine Pitrou
9845c7ebc5
Issue #21425 : Fix flushing of standard streams in the interactive interpreter.
2014-05-11 13:42:17 +02:00
Kristján Valur Jónsson
5b74badc8d
Merging from 3.3: The PyCOND_TIMEDWAIT must use microseconds for the timeout argument
...
in order to have the same resolution as pthreads condition variables.
At the same time, it must be large enough to accept 31 bits of
milliseconds, which is the maximum timeout value in the windows API.
A PY_LONG_LONG of microseconds fullfills both requirements.
This closes issue #20737
2014-05-08 10:59:52 +00:00