-
Nuno Carvalho authored
There is a casting logic mistake in Gtid_state::wait_for_gtid_set() and Relay_log_info::wait_for_pos() which is converting a double value that represents seconds with fractional part to integer before the double is converted to nanoseconds (a non fractional value): (ulonglong) timeout * 1000000000ULL when timeout is 0.1 results in the final value of 0 nanoseconds. To fix the above incorrect behaviour, the cast was changed to: static_cast<ulonglong>(timeout * 1000000000ULL) when timeout is 0.1 results in the final value of 100000000 nanoseconds. ReviewBoard: 21584
Nuno Carvalho authoredThere is a casting logic mistake in Gtid_state::wait_for_gtid_set() and Relay_log_info::wait_for_pos() which is converting a double value that represents seconds with fractional part to integer before the double is converted to nanoseconds (a non fractional value): (ulonglong) timeout * 1000000000ULL when timeout is 0.1 results in the final value of 0 nanoseconds. To fix the above incorrect behaviour, the cast was changed to: static_cast<ulonglong>(timeout * 1000000000ULL) when timeout is 0.1 results in the final value of 100000000 nanoseconds. ReviewBoard: 21584
Loading