Merge pull request #939 from urbit/behn-fix

Fix Behn bug that broke Clay
This commit is contained in:
ixv 2018-12-13 10:42:51 -08:00 committed by GitHub
commit de9349b47b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -86,8 +86,9 @@
:~ timers+[%& timers]
==
==
:: reverse moves, since they were constructed backward, and return
::
[moves ..^^$]
[(flop moves) ..^^$]
:: +set-timer: set a timer, maintaining the sort order of the :timers list
::
++ set-timer
@ -96,9 +97,9 @@
::
?~ timers
~[t]
:: timers at the same date form a lifo queue; for fifo, change +lte to +lth
:: timers at the same date form a fifo queue
::
?: (lte date.t date.i.timers)
?: (lth date.t date.i.timers)
[t timers]
::
[i.timers $(timers t.timers)]
@ -140,14 +141,14 @@
::
?~ timers
?~ next-wake
[~ state]
[moves state]
:_ state(next-wake ~)
[[unix-duct %give %doze ~] moves]
:: if :next-wake is in the past or not soon enough, reset it
::
?^ next-wake
?: &((gte date.i.timers u.next-wake) (lte now u.next-wake))
[~ state]
[moves state]
:_ state(next-wake `date.i.timers)
[[unix-duct %give %doze `date.i.timers] moves]
:: there was no unix wakeup timer; set one