On Tornado 5 the threading module based concurrency solution would end
up in some thread limbo and never return. This fix works in both Tornado 4 and Tornado 5.
The concurrent.futures module is a dependency of Tornado already, so we shouldn't need to add any additional requirements.
On Tornado 5 the threading module based concurrency solution would end up in some thread limbo and never return. This fix works in both Tornado 4 and Tornado 5.
The concurrent.futures module is a dependency of Tornado already, so we shouldn't need to add any additional requirements.