libgolang/gevent: Put explicit try/catch boundary for tasks spawned via go
Else as https://github.com/python-greenlet/greenlet/pull/285 demonstrates there can be segmentation faults and crashes due to exceptions from one greenlet propagating to C stack of another greenlet. No test here. I've tried to do it, but with gevent (contrary to plain greenlets), spawning new task only schedules corresponding greenlet to run in the end of current event loop cycle instead of switching to created greenlet immediately. With this delaying, it was hard for me to develop corresponding test in a reasonable time. Hopefully having the test I've done for greenlet itself + hereby protection is good enough. /reviewed-on nexedi/pygolang!17
Showing
Please register or sign in to comment