mirror of
https://github.com/php/php-src.git
synced 2024-12-04 15:23:44 +08:00
Change the way timer queue timer is deleted
As discussed in bug #77580, passing INVALID_HANDLE_VALUE for the completion event improves compatibility with Wine/ReactOS. The timer callback itself is supposed to complete fast enough, no behavior change is to expect.
This commit is contained in:
parent
b86d7738fb
commit
4f4cf9874d
@ -1238,7 +1238,7 @@ static void zend_set_timeout_ex(zend_long seconds, int reset_signals) /* {{{ */
|
|||||||
timer, so we could end up with just an ignored timeout. Instead
|
timer, so we could end up with just an ignored timeout. Instead
|
||||||
delete and recreate. */
|
delete and recreate. */
|
||||||
if (NULL != tq_timer) {
|
if (NULL != tq_timer) {
|
||||||
if (!DeleteTimerQueueTimer(NULL, tq_timer, NULL)) {
|
if (!DeleteTimerQueueTimer(NULL, tq_timer, INVALID_HANDLE_VALUE)) {
|
||||||
tq_timer = NULL;
|
tq_timer = NULL;
|
||||||
zend_error_noreturn(E_ERROR, "Could not delete queued timer");
|
zend_error_noreturn(E_ERROR, "Could not delete queued timer");
|
||||||
return;
|
return;
|
||||||
@ -1312,7 +1312,7 @@ void zend_unset_timeout(void) /* {{{ */
|
|||||||
{
|
{
|
||||||
#ifdef ZEND_WIN32
|
#ifdef ZEND_WIN32
|
||||||
if (NULL != tq_timer) {
|
if (NULL != tq_timer) {
|
||||||
if (!DeleteTimerQueueTimer(NULL, tq_timer, NULL)) {
|
if (!DeleteTimerQueueTimer(NULL, tq_timer, INVALID_HANDLE_VALUE)) {
|
||||||
EG(timed_out) = 0;
|
EG(timed_out) = 0;
|
||||||
tq_timer = NULL;
|
tq_timer = NULL;
|
||||||
zend_error_noreturn(E_ERROR, "Could not delete queued timer");
|
zend_error_noreturn(E_ERROR, "Could not delete queued timer");
|
||||||
|
Loading…
Reference in New Issue
Block a user