You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Exceptions retrieved via PyErr_Fetch might be normalised or not. This
respectively means that the second argument of PyErr_Fetch will contain
the exception object itself (i.e., an instance of StopIteration), or the
value that the exception object would contain if actually built (i.e.,
the result we are interested in).
We have always received non-normalised exceptions until now, but we
*could* have received normalised ones, so this was a bug that was
waiting to happen at some point. More importantly, starting with Python
3.12 exception values returned by PyErr_Fetch and friends are *always*
normalised, so the async funcitons of the C backend were not working
correctly (because gen->read_func didn't contain a function, but an
instance of StopIteration).
This commit addresses further problems found while working on #98.
0 commit comments