The script itself might check some (global) variable time to time and if it is "on" terminate itself. For example, use Kernel#select with a timeout instead of sleep.
Tomas -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Aaron Clauson Sent: Friday, June 05, 2009 11:59 PM To: [email protected] Subject: [Ironruby-core] How can I cancel a running script Hi, I have an IronRuby script running that I'd like to be able to cancel from outside the script. Is there any way to do that? ScriptEngine scriptEngine = Ruby.CreateEngine(); ScriptScope scriptScope = scriptEngine.CreateScope(); string script = "print \"1\n\"\n" + "print \"2\n\"\n" + "sleep(10)\n" + "print \"3\n\"\n"; ThreadPool.QueueUserWorkItem(delegate { scriptEngine.Execute(script, scriptScope); }); In the above example how could I cancel the script to stop it getting to 3 without having to resort to aborting the thread it is running on? Regards, Aaron -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list [email protected] http://rubyforge.org/mailman/listinfo/ironruby-core _______________________________________________ Ironruby-core mailing list [email protected] http://rubyforge.org/mailman/listinfo/ironruby-core
