diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c index bcac2b48f18457..f4c98ca39f6ee6 100644 --- a/Modules/_threadmodule.c +++ b/Modules/_threadmodule.c @@ -384,8 +384,9 @@ thread_run(void *boot_raw) } static int -force_done(ThreadHandle *handle) +force_done(void *arg) { + ThreadHandle *handle = (ThreadHandle *)arg; assert(get_thread_handle_state(handle) == THREAD_HANDLE_STARTING); _PyEvent_Notify(&handle->thread_is_exiting); set_thread_handle_state(handle, THREAD_HANDLE_DONE); @@ -458,7 +459,7 @@ ThreadHandle_start(ThreadHandle *self, PyObject *func, PyObject *args, return 0; start_failed: - _PyOnceFlag_CallOnce(&self->once, (_Py_once_fn_t *)force_done, self); + _PyOnceFlag_CallOnce(&self->once, force_done, self); return -1; }