Issue #23524: Replace _PyVerify_fd function with calling _set_thread_local_invalid_parameter_handler on every thread.

This commit is contained in:
Steve Dower 2015-03-06 14:47:02 -08:00
parent eef20de744
commit d81431f587
9 changed files with 160 additions and 112 deletions

View file

@ -22,6 +22,12 @@ to avoid the expense of doing their own locking).
#endif
#endif
#if defined _MSC_VER && _MSC_VER >= 1900
/* Issue #23524: Temporary fix to disable termination due to invalid parameters */
PyAPI_DATA(void*) _Py_silent_invalid_parameter_handler;
#include <stdlib.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
@ -222,6 +228,11 @@ new_threadstate(PyInterpreterState *interp, int init)
tstate->next->prev = tstate;
interp->tstate_head = tstate;
HEAD_UNLOCK();
#if defined _MSC_VER && _MSC_VER >= 1900
/* Issue #23524: Temporary fix to disable termination due to invalid parameters */
_set_thread_local_invalid_parameter_handler((_invalid_parameter_handler)_Py_silent_invalid_parameter_handler);
#endif
}
return tstate;