Class: ParallelServer::Prefork::Child
- Inherits:
-
Object
- Object
- ParallelServer::Prefork::Child
- Defined in:
- lib/parallel_server/prefork.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
-
#initialize(sockets, opts, to_parent, from_parent) ⇒ Child
constructor
A new instance of Child.
- #max_idle ⇒ Integer
- #max_threads ⇒ Integer
- #max_use ⇒ Integer
- #start(block) ⇒ void
Constructor Details
#initialize(sockets, opts, to_parent, from_parent) ⇒ Child
Returns a new instance of Child.
311 312 313 314 315 316 317 318 319 320 321 |
# File 'lib/parallel_server/prefork.rb', line 311 def initialize(sockets, opts, to_parent, from_parent) @sockets = sockets = opts @to_parent = to_parent @from_parent = from_parent @threads = {} @threads_mutex = Mutex.new @threads_cv = ConditionVariable.new @parent_mutex = Mutex.new @status = :run end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
305 306 307 |
# File 'lib/parallel_server/prefork.rb', line 305 def end |
Instance Method Details
#max_idle ⇒ Integer
329 330 331 |
# File 'lib/parallel_server/prefork.rb', line 329 def max_idle [:max_idle] || DEFAULT_MAX_IDLE end |
#max_threads ⇒ Integer
324 325 326 |
# File 'lib/parallel_server/prefork.rb', line 324 def max_threads [:max_threads] || DEFAULT_MAX_THREADS end |
#max_use ⇒ Integer
334 335 336 |
# File 'lib/parallel_server/prefork.rb', line 334 def max_use [:max_use] || DEFAULT_MAX_USE end |
#start(block) ⇒ void
This method returns an undefined value.
340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 |
# File 'lib/parallel_server/prefork.rb', line 340 def start(block) queue = Queue.new accept_thread = Thread.new{ accept_loop(block, queue) } reload_thread = Thread.new{ reload_loop(queue) } # wait that accept_loop or reload_loop end queue.pop accept_thread.exit @sockets.each(&:close) @threads_mutex.synchronize do notify_status end wait_all_connections reload_thread.exit end |