Print linked task tracebacks even when not run in an executor

This commit is contained in:
Tony Garnock-Jones 2024-03-29 14:00:58 +01:00
parent 0364c38068
commit 6f6993ce4c
1 changed files with 4 additions and 5 deletions

View File

@ -230,11 +230,7 @@ class Facet:
if run_in_executor:
inner_coro_fn = coro_fn
async def outer_coro_fn(facet):
try:
await self.loop.run_in_executor(None, lambda: inner_coro_fn(facet))
except:
import traceback
traceback.print_exc()
await self.loop.run_in_executor(None, lambda: inner_coro_fn(facet))
coro_fn = outer_coro_fn
@self.on_stop_or_crash
def cancel_linked_task():
@ -246,6 +242,9 @@ class Facet:
async def guarded_task():
try:
await coro_fn(self)
except:
import traceback
traceback.print_exc()
finally:
Turn.external(self, cancel_linked_task)
task = self.loop.create_task(guarded_task())