]> git.openstreetmap.org Git - rails.git/commitdiff
Use Timeout if SystemTimer isn't loaded
authorTom Hughes <tom@compton.nu>
Fri, 6 Jan 2012 09:11:23 +0000 (09:11 +0000)
committerTom Hughes <tom@compton.nu>
Fri, 6 Jan 2012 09:11:23 +0000 (09:11 +0000)
app/controllers/application_controller.rb
lib/osm.rb

index 96bf915c0f9e3034fe9c0cb2029c1feb8ae1861b..e64e2e022fca6b92ef8d5f464206195e8d405e2c 100644 (file)
@@ -286,7 +286,7 @@ class ApplicationController < ActionController::Base
   ##
   # wrap an api call in a timeout
   def api_call_timeout
-    SystemTimer.timeout_after(API_TIMEOUT) do
+    OSM::Timer.timeout(API_TIMEOUT) do
       yield
     end
   rescue Timeout::Error
@@ -296,7 +296,7 @@ class ApplicationController < ActionController::Base
   ##
   # wrap a web page in a timeout
   def web_timeout
-    SystemTimer.timeout_after(WEB_TIMEOUT) do
+    OSM::Timer.timeout(WEB_TIMEOUT) do
       yield
     end
   rescue ActionView::TemplateError => ex
index 02c51df7809b599debb11810cb6350ee7048bfc8..a85a7dfecd91be7d22ee18f07c3e8c252371932a 100644 (file)
@@ -9,6 +9,13 @@ module OSM
   require 'RMagick'
   require 'nokogiri'
 
+  if defined?(SystemTimer)
+    Timer = SystemTimer
+  else
+    require 'timeout'
+    Timer = Timeout
+  end
+
   # The base class for API Errors.
   class APIError < RuntimeError
     def status