Kaydet (Commit) abb70e9c authored tarafından Kristján Valur Jónsson's avatar Kristján Valur Jónsson

Issue 4906: Preserve windows error state across PyThread_get_key_value

üst dbf55888
......@@ -315,7 +315,16 @@ PyThread_set_key_value(int key, void *value)
void *
PyThread_get_key_value(int key)
{
return TlsGetValue(key);
/* because TLS is used in the Py_END_ALLOW_THREAD macro,
* it is necessary to preserve the windows error state, because
* it is assumed to be preserved across the call to the macro.
* Ideally, the macro should be fixed, but it is simpler to
* do it here.
*/
DWORD error = GetLastError();
void *result = TlsGetValue(key);
SetLastError(error);
return result;
}
void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment