From: Tom Hughes Date: Fri, 6 Jan 2012 09:11:23 +0000 (+0000) Subject: Use Timeout if SystemTimer isn't loaded X-Git-Tag: live~5916 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/00a605a2a877528ec3d4eabc6562e262c427b839 Use Timeout if SystemTimer isn't loaded --- diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 96bf915c0..e64e2e022 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -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 diff --git a/lib/osm.rb b/lib/osm.rb index 02c51df78..a85a7dfec 100644 --- a/lib/osm.rb +++ b/lib/osm.rb @@ -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