Overview
Artifact ID: | f0f5ad697611d444be4450cc0b82edc172317862 |
---|---|
Ticket: | dae6b527bc159a14c914c3d4eae46ac99a31b9be
Declaring a cron handler inside a cron command creates and infinte loop |
User & Date: | anonymous 2015-09-18 21:45:03 |
Changes
- assignee changed to: "nobody"
- closer changed to: "nobody"
- cmimetype changed to: "text/plain"
- comment changed to:
Okay! So when defining cron handlers, you cannot nest them: ========================================================= #! /usr/bin/tclsh package require cron # Done timer ::cron::in done 20 {incr ::done} # Ten second timer ::cron::in ten_seconds 10 { puts "10 second timer triggered!" # Nested timer ::cron::in five_seconds 5 { puts "5 seconds triggered!" } } vwait ::done ========================================================= Gives us this output: ========================================================= second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 10 second timer triggered! 5 seconds triggered! [hooga@samserv01 ~]$ ========================================================= If you instead turn the inner cron statement to an after Xms y, it works as expected: ========================================================= #! /usr/bin/tclsh package require cron # Done timer ::cron::in done 20 {incr ::done} # Ten second timer ::cron::in ten_seconds 10 { puts "10 second timer triggered!" # Nested timer after 5000 { puts "After 5 seconds triggered!" } } vwait ::done ========================================================= ========================================================= [hooga@samserv01 ~]$ ./cron.tcl 10 second timer triggered! After 5 seconds triggered! [hooga@samserv01 ~]$ =========================================================
- foundin changed to: "1.17"
- is_private changed to: "0"
- login: "anonymous"
- priority changed to: "5 Medium"
- private_contact changed to: "310273a9a9308c961b73e79a87acdf09488aea25"
- resolution changed to: "None"
- severity changed to: "Minor"
- status changed to: "Open"
- submitter changed to: "anonymous"
- subsystem changed to: "cron"
- title changed to:
Declaring a cron handler inside a cron command creates and infinte loop
- type changed to: "Bug"