Ticket #484 (closed bug: fixed)
illegal instruction/segfault with Timer PMC
Reported by: | coke | Owned by: | whiteknight |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | none | Version: | |
Severity: | medium | Keywords: | |
Cc: | Language: | ||
Patch status: | Platform: |
Description
.include 'timer.pasm' # for the timer constants .sub expired say 'Timer has expired!' exit 1 .end .sub main :main $P0 = new 'Timer' $P1 = get_global "expired" $P0[.PARROT_TIMER_HANDLER] = $P1 # call sub in $P1 when timer goes off $P0[.PARROT_TIMER_SEC] = 2 # trigger in 10 seconds $P0[.PARROT_TIMER_REPEAT] = -1 # repeat indefinitely $P0[.PARROT_TIMER_RUNNING] = 1 # start timer immediately set_global "timer", $P0 # keep the timer around $I0 = 0 loop: print $I0 say ": running..." inc $I0 sleep 1 # wait a second goto loop .end
This generates an illegal instruction. Changing the -1 to a positive one, works as expected.
Change History
Note: See
TracTickets for help on using
tickets.