commit e754b18523675adeafb89fe2adfe702647ff615e
parent 1fa957d9508456be4cac1815e0d985dd1cda3b2b
Author: William Morgan <wmorgan-sup@masanjin.net>
Date: Sun, 30 Dec 2007 10:59:49 -0800
added FinishLine object to util.rb (currently unused)
Diffstat:
1 file changed, 13 insertions(+), 0 deletions(-)
diff --git 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