[Ironruby-core] How can I cancel a running script

Tomas Matousek Tomas.Matousek at microsoft.com
Sat Jun 6 13:17:39 EDT 2009


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: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Aaron Clauson
Sent: Friday, June 05, 2009 11:59 PM
To: ironruby-core at rubyforge.org
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
Ironruby-core at rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core



More information about the Ironruby-core mailing list