Method: Fairy::Controller#create_processor

Defined in:
lib/fairy/controller.rb

#create_processor(node, bjob, &block) ⇒ Object



359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
# File 'lib/fairy/controller.rb', line 359

def create_processor(node, bjob, &block)
  @create_processor_mutex.synchronize do
	processor = node.create_processor
	proc_id = processor.connect_controller(self, CONF)
	@deepspace2processor_id[processor.deepspace] = proc_id

	@reserves_mutex.synchronize do
	  @reserves[processor] = 1
	end
	begin
	  register_processor(bjob, processor)
	  yield processor
	  processor
	ensure
	  @reserves_mutex.synchronize do
 @reserves[processor] -= 1
	  end
	end
  end
end