The situation I have in mind is using a python extension module that can call back into python, so that there may be a mixture of python and non-python stack frames at the point when a greenlet yields.
I assume that if a module uses thread-local storage it is likely to misbehave with greenlets.
Is there any other reason why a thread-safe module might not be greenlet-safe?
Edit: what I really want to know is whether there is any difference between the way context switches are implemented for greenlets vs. regular threads. Do greenlets take any shortcuts that might work for python but break for some kinds of extension module?