Skip to content

Commit

Permalink
bpo-39277: Fix PY_TIMEOUT_MAX cast in _threadmodule.c (GH-31195)
Browse files Browse the repository at this point in the history
Cast PY_TIMEOUT_MAX to double, not to _PyTime_t.

Fix the clang warning:

Modules/_threadmodule.c:1648:26: warning: implicit conversion from
'_PyTime_t' (aka 'long') to 'double' changes value from
9223372036854775 to 9223372036854776
[-Wimplicit-const-int-float-conversion]
    double timeout_max = (_PyTime_t)PY_TIMEOUT_MAX * 1e-6;
                         ^~~~~~~~~~~~~~~~~~~~~~~~~ ~
  • Loading branch information
vstinner authored Feb 7, 2022
1 parent 4b603f6 commit d3e53bc
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion Modules/_threadmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -1645,7 +1645,7 @@ thread_module_exec(PyObject *module)
}

// TIMEOUT_MAX
double timeout_max = (_PyTime_t)PY_TIMEOUT_MAX * 1e-6;
double timeout_max = (double)PY_TIMEOUT_MAX * 1e-6;
double time_max = _PyTime_AsSecondsDouble(_PyTime_MAX);
timeout_max = Py_MIN(timeout_max, time_max);
// Round towards minus infinity
Expand Down

0 comments on commit d3e53bc

Please sign in to comment.