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.
278 279 280 281 282 283 284 |
# File 'lib/little_ghost/code_mode/javascript/host.rb', line 278 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
286 287 288 289 290 291 292 293 294 |
# File 'lib/little_ghost/code_mode/javascript/host.rb', line 286 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 |