google / marl

A hybrid thread / fiber task scheduler written in C++ 11
Apache License 2.0
1.89k stars 193 forks source link

Does marl support switching context while unwinding stack? i.e. is it exception safe? #263

Closed feverzsj closed 5 months ago

feverzsj commented 12 months ago

I know windows fiber is exception safe with proper compiler flags. But gcc/llvm based implementations typically require save/restore cxa global states while switching context to assure correct exception behaviour, which I didn't find in the source.

ben-clayton commented 12 months ago

Probably not. I'm not aware of marl being used in any project with exceptions enabled, and I certainly didn't consider exceptions during implementation. Sorry.