Victor Stinner [Tue, 8 Jul 2014 21:58:25 +0000 (23:58 +0200)]
(Merge 3.4) asyncion, Tulip issue 181: BaseEventLoop.create_datagram_endpoint()
now waits until protocol.connection_made() has been called. Document also why
transport constructors use a waiter.
Victor Stinner [Tue, 8 Jul 2014 21:57:31 +0000 (23:57 +0200)]
asyncion, Tulip issue 181: BaseEventLoop.create_datagram_endpoint() now waits
until protocol.connection_made() has been called. Document also why transport
constructors use a waiter.
Victor Stinner [Tue, 8 Jul 2014 10:43:24 +0000 (12:43 +0200)]
Merge 3.4
asyncio: sync with Tulip
- Tulip issue 185: Add a create_task() method to event loops. The create_task()
method can be overriden in custom event loop to implement their own task
class. For example, greenio and Pulsar projects use their own task class. The
create_task() method is now preferred over creating directly task using the
Task class.
- tests: fix a warning
- fix typo in the name of a test function
- Update AbstractEventLoop: add new event loop methods; update also the unit test
Update asyncio documentation
- Document the new create_task() method
- "Hide" the Task class: point to the create_task() method for interoperability
- Rewrite the documentation of the Task class
- Document the "Pending task destroyed"
- Update output in debug mode of examples in the dev section
- Replace Task() with create_task() in examples
Victor Stinner [Tue, 8 Jul 2014 10:39:10 +0000 (12:39 +0200)]
Update asyncio documentation
- Document the new create_task() method
- "Hide" the Task class: point to the create_task() method for interoperability
- Rewrite the documentation of the Task class
- Document the "Pending task destroyed"
- Update output in debug mode of examples in the dev section
- Replace Task() with create_task() in examples
Victor Stinner [Tue, 8 Jul 2014 09:29:25 +0000 (11:29 +0200)]
asyncio: sync with Tulip
- Tulip issue 185: Add a create_task() method to event loops. The create_task()
method can be overriden in custom event loop to implement their own task
class. For example, greenio and Pulsar projects use their own task class. The
create_task() method is now preferred over creating directly task using the
Task class.
- tests: fix a warning
- fix typo in the name of a test function
- Update AbstractEventLoop: add new event loop methods; update also the unit test
Victor Stinner [Mon, 7 Jul 2014 19:52:49 +0000 (21:52 +0200)]
(Merge 3.4) Issue #21781, _ssl: Fix asn1obj2py() on Windows 64-bit, "s#" format
requires size to be a Py_ssize_t, not an int. _ssl.c is now "Py_ssize_t clean".
Zachary Ware [Mon, 7 Jul 2014 18:39:59 +0000 (13:39 -0500)]
Issue #21907: Improved the batch scripts provided for building Python.
The user-facing scripts in PCbuild have been updated to be easier to use
and the buildbot scripts in Tools\buildbot have been updated to use the
user-facing scripts in PCbuild wherever possible.
Victor Stinner [Mon, 7 Jul 2014 15:27:27 +0000 (17:27 +0200)]
(Merge 3.4) asyncio: sync with Tulip
- Tulip issue #181: Faster create_connection(). Call directly
waiter.set_result() in the constructor of _ProactorBasePipeTransport and
_SelectorSocketTransport, instead of using of delaying the call with
call_soon().
- Cleanup iscoroutine()
Victor Stinner [Mon, 7 Jul 2014 15:26:54 +0000 (17:26 +0200)]
asyncio: sync with Tulip
- Tulip issue #181: Faster create_connection(). Call directly
waiter.set_result() in the constructor of _ProactorBasePipeTransport and
_SelectorSocketTransport, instead of using of delaying the call with
call_soon().
- Cleanup iscoroutine()
Ned Deily [Sun, 6 Jul 2014 23:14:33 +0000 (16:14 -0700)]
Issue #21923: Prevent AttributeError in distutils.sysconfig.customize_compiler
due to possible uninitialized _config_vars. Original patch by Alex Gaynor.
Victor Stinner [Sat, 5 Jul 2014 13:41:18 +0000 (15:41 +0200)]
(Merge 3.4) Closes #21921: Fix ResourceWarning in the asyncio examples: close
the event loop at exit. Patch written by Vajrasky Kok (I modified also the
"hello world" example using a coroutine).
Victor Stinner [Sat, 5 Jul 2014 13:38:59 +0000 (15:38 +0200)]
Closes #21921: Fix ResourceWarning in the asyncio examples: close the event
loop at exit. Patch written by Vajrasky Kok (I modified also the "hello world"
example using a coroutine).
Victor Stinner [Sat, 5 Jul 2014 13:30:42 +0000 (15:30 +0200)]
(Merge 3.4) Closes #21886, #21447: Fix a race condition in asyncio when setting
the result of a Future with call_soon(). Add an helper, a private method, to
set the result only if the future was not cancelled.
Victor Stinner [Sat, 5 Jul 2014 13:29:41 +0000 (15:29 +0200)]
Closes #21886, #21447: Fix a race condition in asyncio when setting the result
of a Future with call_soon(). Add an helper, a private method, to set the
result only if the future was not cancelled.
Victor Stinner [Wed, 2 Jul 2014 22:59:28 +0000 (00:59 +0200)]
(Merge 3.4) asyncio: sync with Tulip
* _UnixSubprocessTransport: fix file mode of stdin. Open stdin in write mode,
not in read mode
* Examples: close the event loop at exit
* More reliable CoroWrapper.__del__. If the constructor is interrupted by
KeyboardInterrupt or the coroutine objet is destroyed lately, some the
_source_traceback attribute doesn't exist anymore.
* repr(Task): include also the future the task is waiting for
Victor Stinner [Wed, 2 Jul 2014 22:59:00 +0000 (00:59 +0200)]
asyncio: sync with Tulip
* _UnixSubprocessTransport: fix file mode of stdin. Open stdin in write mode,
not in read mode
* Examples: close the event loop at exit
* More reliable CoroWrapper.__del__. If the constructor is interrupted by
KeyboardInterrupt or the coroutine objet is destroyed lately, some the
_source_traceback attribute doesn't exist anymore.
* repr(Task): include also the future the task is waiting for
Victor Stinner [Wed, 2 Jul 2014 21:00:38 +0000 (23:00 +0200)]
(Merge 3.4) Issue #21090: io.FileIO.readall() does not ignore I/O errors
anymore. Before, it ignored I/O errors if at least the first C call read()
succeed.