[3/11] kernel32/tests: Add tests for Change/DeleteTimerQueueTimer.
Rob Shearman
robertshearman at gmail.com
Sat Jul 19 12:29:38 CDT 2008
2008/7/19 Dan Hipschman <dsh at linux.ucla.edu>:
> +static void CALLBACK timer_queue_cb2(PVOID p, BOOLEAN timedOut)
> +{
> + struct timer_queue_data1 *d = (struct timer_queue_data1 *) p;
> + ok(timedOut, "Timer callbacks should always time out\n");
> + /* Wait until our own timer handle is set to avoid a pretty much
> + impossible race condition (better safe than sorry). */
> + if (d->t)
> + if (++d->num_calls == d->max_calls)
You could change the above two lines to just "if (d->t &&
++d->num_calls == d->max_calls)" and remove a level of indentation.
> + {
> + BOOL ret;
> + SetLastError(0xdeadbeef);
> + /* Note, XP SP2 does *not* do any deadlock checking, so passing
> + INVALID_HANDLE_VALUE here will just hang. */
> + ret = pDeleteTimerQueueTimer(d->q, d->t, NULL);
> + ok(!ret, "DeleteTimerQueueTimer\n");
> + todo_wine
> + ok(GetLastError() == ERROR_IO_PENDING, "DeleteTimerQueueTimer\n");
> + }
> +}
> +
> +static void CALLBACK timer_queue_cb3(PVOID p, BOOLEAN timedOut)
> +{
> + struct timer_queue_data1 *d = (struct timer_queue_data1 *) p;
> + ok(timedOut, "Timer callbacks should always time out\n");
> + /* Wait until our own timer handle is set to avoid a pretty much
> + impossible race condition (better safe than sorry). */
> + if (d->t)
> + if (++d->num_calls == d->max_calls)
Ditto.
> + {
> + /* Basically kill the timer since it won't have time to run
> + again. */
> + BOOL ret = pChangeTimerQueueTimer(d->q, d->t, 10000, 0);
> + ok(ret, "ChangeTimerQueueTimer\n");
> + }
> +}
> +
--
Rob Shearman
More information about the wine-devel
mailing list