-
-
Notifications
You must be signed in to change notification settings - Fork 94
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Optimised raw event dispatching to uncover bug. Looks like, at least on my machine, asyncio immediately invokes anything you await rather than switching to another task on the queue first unless the call does raw IO. I have confirmed this with Epoll, Poll and Select selector implementations on a non-debug asyncio SelectorEventLoop implementation. This means that the bulk of dispatching an event would currently occur as soon as the event is dispatched rather than after another task runs, which could lead to immediate slowdown if other tasks are queued. Switching to sync dispatching and using create task to invoke the callback management "later" seems to speed up this implementation significantly and allows other race conditions we have not accounted for properly as part of #77 to be detectable with test scripts that saturate the event loop. * Updated CLi script to show OS type as well. * Added code to allow debugging of asyncio loop blocking incidents. * Fixes #77 dispatcher wait_for race condition. * Removed async predicates for wait_for, removing last parts of race condition hopefully. * Fixes #77 dispatcher wait_for race condition.
- Loading branch information
Nekokatt
authored
Aug 24, 2020
1 parent
5fb11fd
commit ad7f46f
Showing
10 changed files
with
204 additions
and
156 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.