Class: LittleGhost::CodeMode::Javascript::Host::Runner
- Inherits:
-
Object
- Object
- LittleGhost::CodeMode::Javascript::Host::Runner
- Defined in:
- lib/little_ghost/code_mode/javascript/host.rb
Instance Method Summary collapse
-
#initialize(input: $stdin, output: $stdout) ⇒ Runner
constructor
A new instance of Runner.
- #run ⇒ Object
Constructor Details
#initialize(input: $stdin, output: $stdout) ⇒ Runner
Returns a new instance of Runner.
299 300 301 302 303 304 305 |
# File 'lib/little_ghost/code_mode/javascript/host.rb', line 299 def initialize(input: $stdin, output: $stdout) @input = input @output = output @programs = {} @programs_mutex = Mutex.new @writer_mutex = Mutex.new end |
Instance Method Details
#run ⇒ Object
307 308 309 310 311 312 313 314 315 |
# File 'lib/little_ghost/code_mode/javascript/host.rb', line 307 def run while ( = Protocol.read(@input)) receive() end ensure programs = @programs_mutex.synchronize { @programs.values.dup } programs.each(&:terminate) programs.each { |program| program.join(0.5) } end |