Sha256: 615fb840aa721400a226fc319d0aad3dea296bbb20571c1204bb6cea7b20fffe

Contents?: true

Size: 1.04 KB

Versions: 32

Compression:

Stored size: 1.04 KB

Contents

# -*- encoding: binary -*-

require 'actor'

# Actor concurrency model for Rubinius.  We can't seem to get message
# passing working right, so we're throwing a Mutex into the mix for
# now.  Hopefully somebody can fix things for us.  Currently, this is
# exactly the same as the ThreadSpawn model since we don't use the
# message passing capabilities of the Actor model (and even then
# it wouldn't really make sense since Actors in Rubinius are just
# Threads underneath and our ThreadSpawn model is one layer of
# complexity less.
#
# This is different from the Revactor one which is not prone to race
# conditions within the same process at all (since it uses Fibers).
module Rainbows::ActorSpawn
  include Rainbows::ThreadSpawn

  # runs inside each forked worker, this sits around and waits
  # for connections and doesn't die until the parent dies (or is
  # given a INT, QUIT, or TERM signal)
  def worker_loop(worker) # :nodoc:
    Rainbows::Const::RACK_DEFAULTS["rack.multithread"] = true # :(
    init_worker_process(worker)
    accept_loop(Actor)
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
rainbows-5.2.1 lib/rainbows/actor_spawn.rb
rainbows-5.2.0 lib/rainbows/actor_spawn.rb
rainbows-5.1.1 lib/rainbows/actor_spawn.rb
rainbows-5.1.0 lib/rainbows/actor_spawn.rb
rainbows-5.0.0.5.ge717 lib/rainbows/actor_spawn.rb
rainbows-5.0.0 lib/rainbows/actor_spawn.rb
rainbows-4.7.0 lib/rainbows/actor_spawn.rb
rainbows-4.6.2 lib/rainbows/actor_spawn.rb
rainbows-4.6.1 lib/rainbows/actor_spawn.rb
rainbows-4.6.0.4.g4108 lib/rainbows/actor_spawn.rb
rainbows-4.6.0 lib/rainbows/actor_spawn.rb
rainbows-4.5.0 lib/rainbows/actor_spawn.rb
rainbows-4.4.3 lib/rainbows/actor_spawn.rb
rainbows-4.4.2 lib/rainbows/actor_spawn.rb
rainbows-4.4.1.1.gd5c8c lib/rainbows/actor_spawn.rb
rainbows-4.4.1 lib/rainbows/actor_spawn.rb
rainbows-4.4.0 lib/rainbows/actor_spawn.rb
rainbows-4.3.1 lib/rainbows/actor_spawn.rb
rainbows-4.3.0 lib/rainbows/actor_spawn.rb
rainbows-4.2.0 lib/rainbows/actor_spawn.rb