| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Patch written by Saimadhav Heblikar.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Tulip issue #184: Log subprocess events in debug mode
- Log stdin, stdout and stderr transports and protocols
- Log process identifier (pid)
- Log connection of pipes
- Log process exit
- Log Process.communicate() tasks: feed stdin, read stdout and stderr
- Add __repr__() method to many classes related to subprocesses
* Add BaseSubprocessTransport._pid attribute. Store the pid so it is still
accessible after the process exited. It's more convinient for debug.
* create_connection(): add the socket in the "connected to" debug log
* Clean up some docstrings and comments. Remove unused unimplemented
_read_from_self().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Tulip issue #183: log socket events in debug mode
- Log most important socket events: socket connected, new client, connection
reset or closed by peer (EOF), etc.
- Log time elapsed in DNS resolution (getaddrinfo)
- Log pause/resume reading
- Log time of SSL handshake
- Log SSL handshake errors
- Add a __repr__() method to many classes
* Fix ProactorEventLoop() in debug mode. ProactorEventLoop._make_self_pipe()
doesn't call call_soon() directly because it checks for the current loop
which fails, because the method is called to build the event loop.
* Cleanup _ProactorReadPipeTransport constructor. Not need to set again
_read_fut attribute to None, it is already done in the base class.
|
|
|
|
|
|
| |
- Fix the documentation of Server.close(): it closes sockets
- Replace AbstractServer with Server
- Document Server.sockets attribute
|
|
|
|
|
|
|
| |
- loop, waiters and active_count attributes are now private
- attach(), detach() and wakeup() methods are now private
The sockets attribute remains public.
|
|
|
|
|
|
|
|
|
|
| |
* Tulip issue #182: Improve logs of BaseEventLoop._run_once()
- Don't log non-blocking poll
- Only log polling with a timeout if it gets events or if it timed out after
more than 1 second.
* Fix some pyflakes warnings: remove unused imports
|
|
|
|
|
|
|
| |
- repr(Task) and repr(CoroWrapper) now also includes where these objects were
created. If the coroutine is not a generator (don't use "yield from"), use
the location of the function, not the location of the coro() wrapper.
- Fix create_task(): truncate the traceback to hide the call to create_task().
|
|
|
|
|
| |
until protocol.connection_made() has been called. Document also why transport
constructors use a waiter.
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
don't log the "destroy pending task" message anymore. The log is redundant for
run_until_complete() and useless in run_briefly().
|
|
|
|
|
|
|
|
|
|
|
| |
- Sort imports
- Simplify/optimize iscoroutine(). Inline inspect.isgenerator(obj): replace it
with isinstance(obj, types.GeneratorType)
- CoroWrapper: check at runtime if Python has the yield-from bug #21209. If
Python has the bug, check if CoroWrapper.send() was called by yield-from to
decide if parameters must be unpacked or not.
- Fix "Task was destroyed but it is pending!" warning in
test_task_source_traceback()
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Handle objects are created. Pass the traceback to call_exception_handler() in
the 'source_traceback' key.
The traceback is truncated to hide internal calls in asyncio, show only the
traceback from user code.
Add tests for the new source_traceback, and a test for the 'Future/Task
exception was never retrieved' log.
|
|
|
|
| |
raises an exception if there is no current loop
|
|
|
|
|
| |
event loop is running. You must first stop the event loop and then wait until
it stopped, before closing it.
|
| |
|
|
|
|
| |
environment variable is set
|
|
|
|
|
|
|
|
|
|
|
|
| |
exception if the current loop is not None.
Guido van Rossum wrote:
"The behavior that you can set the loop to None (and keep track of it
explicitly) is part of the spec, and this should still be supported even in
debug mode. The behavior that we raise an error if you are caught having
multiple active loops per thread is just a debugging heuristic, and it
shouldn't break code that follows the spec."
|
|
|
|
| |
to be executed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Add BaseEventLoop._closed attribute and use it to check if the event loop was
closed or not, instead of checking different attributes in each subclass of
BaseEventLoop.
run_forever() and run_until_complete() methods now raise a RuntimeError('Event loop is
closed') exception if the event loop was closed.
BaseProactorEventLoop.close() now also cancels "accept futures".
|
|
|
|
|
|
| |
Fix ResourceWarning: create_connection(), create_datagram_endpoint() and
create_unix_server() methods of event loop now close the newly created socket
on error.
|
| |
|
|
|
|
|
|
| |
loop in debug mode. Raise a RuntimeError if the event loop of the current
thread is different. The check should help to debug thread-safetly issue.
Patch written by David Foster.
|
|
|
|
| |
scope_id: (host, port).
|
| |
|
|
|
|
|
|
| |
Add also a PYTHONASYNCIODEBUG environment variable to debug coroutines since
Python startup, to be able to debug coroutines defined directly in the asyncio
module.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
the address is not resolved (hostname instead of an IP address) for AF_INET and
AF_INET6 address families.
|
| |
|
|
|
|
| |
parameters
|
|
|
|
|
| |
call_at() and run_in_executor() now raise a TypeError if the callback is a
coroutine function.
|
|
|
|
| |
should be printed
|
|
|
|
| |
than timeout
|
| |
|
|
|
|
| |
scheduled tasks should be executed or not.
|
|
|
|
| |
test_timeout_rounding() on Windows XP buildbots.
|
| |
|
|
|
|
|
| |
* Remove selectors.BaseSelector.resolution attribute
* Remove asyncio.BaseEventLoop._granularity attribute
|
| |
|
| |
|
|
|
|
| |
by Vajrasky Kok.
|
|
|
|
|
|
| |
poll and epoll
Improve also debug info to analyze the issue
|
|
|
|
| |
Add also event more debug info
|
|
|
|
| |
failure on buildbot "x86 Ubuntu Shared 3.x"
|
|
|
|
|
|
| |
instead of assert.
Moreover, bufsize different than 0 is now considered as an error.
|
|
|
|
|
|
| |
- Make the new granularity attribute private
- Simplify BaseEventLoop._run_once(): avoid math.ceil(), use simple arithmetic
instead
|
|
|
|
|
|
| |
between the resolution of the BaseEventLoop.time() method and the resolution of
the selector. The granuarility is used in the scheduler to round time and
deadline.
|