[parrot/parrot] 58d737: Reworked timer handling to fix a race

GitHub noreply at github.com
Fri Jun 1 16:34:29 UTC 2012


  Branch: refs/heads/threads
  Home:   https://github.com/parrot/parrot
  Commit: 58d737e7c4bc566c17fa7fa223ee5db39d502500
      https://github.com/parrot/parrot/commit/58d737e7c4bc566c17fa7fa223ee5db39d502500
  Author: Stefan Seifert <nine at detonation.org>
  Date:   2012-06-01 (Fri, 01 Jun 2012)

  Changed paths:
    M src/alarm.c

  Log Message:
  -----------
  Reworked timer handling to fix a race

If after an alarm expires a new alarm was set to the exact same time (now)
Parrot_alarm_runloop would not notice and still wait for new alarms without
notifying any threads. This happened quite often on Windows because
Parrot_floatval_time() gives only millisecond precision there which is an
eternity for a processor.

This reworked version is no longer dependent on any precision.


  Commit: 4f8359ff971265713c38935fe2b8edfd98084dc9
      https://github.com/parrot/parrot/commit/4f8359ff971265713c38935fe2b8edfd98084dc9
  Author: Stefan Seifert <nine at detonation.org>
  Date:   2012-06-01 (Fri, 01 Jun 2012)

  Changed paths:
    M include/parrot/thr_windows.h

  Log Message:
  -----------
  Get Windows COND_TIMED_WAIT closer to POSIX semantics

The other part of the solution to the Windows timer problem


Compare: https://github.com/parrot/parrot/compare/03e14e3...4f8359f


More information about the parrot-commits mailing list