From: William Morgan Date: Sun, 30 Dec 2007 18:59:49 +0000 (-0800) Subject: added FinishLine object to util.rb (currently unused) X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=e754b18523675adeafb89fe2adfe702647ff615e;p=sup added FinishLine object to util.rb (currently unused) --- diff --git a/lib/sup/util.rb b/lib/sup/util.rb index 2164e85..47bc1c2 100644 --- a/lib/sup/util.rb +++ b/lib/sup/util.rb @@ -1,3 +1,4 @@ +require 'thread' require 'lockfile' require 'mime/types' require 'pathname' @@ -600,3 +601,15 @@ class OrderedHash < Hash def each; @keys.each { |k| yield k, self[k] } end end +## easy thread-safe class for determining who's the "winner" in a race (i.e. +## first person to hit the finish line +class FinishLine + def initialize + @m = Mutex.new + @over = false + end + + def winner? + @m.synchronize { !@over && @over = true } + end +end