Sha256: 724e945f4678f1f2aa97791b95b3d2cab1070c298133599bfabb57011e89205a
Contents?: true
Size: 314 Bytes
Versions: 4
Compression:
Stored size: 314 Bytes
Contents
require 'thread' module Rack class Lock FLAG = 'rack.multithread'.freeze def initialize(app, lock = Mutex.new) @app, @lock = app, lock end def call(env) old, env[FLAG] = env[FLAG], false @lock.synchronize { @app.call(env) } ensure env[FLAG] = old end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
rack-1.2.8 | lib/rack/lock.rb |
rack-1.2.7 | lib/rack/lock.rb |
rack-1.2.6 | lib/rack/lock.rb |
rack-1.2.5 | lib/rack/lock.rb |