chiark / gitweb /
routesearch: check for failure of routesearch and report XCPU specially
[ypp-sc-tools.db-test.git] / yarrg / web / query_routesearch
index 8937f285e9f9c77e6f3a77585b5471b6bd3de44e..dc8c230c54767b3b5310004eed0d6b48c495d4db 100644 (file)
@@ -204,6 +204,26 @@ if ($qa->{'debug'}) {
        print "</pre>\n";
 }
 
+$!=0;
+if (!close $fh) {
+       die $! if $!;
+       die $? if $? != 24; # SIGXCPU but not in POSIX.pm :-/
+</%perl>
+<h2>Search took too long and was terminated</h2>
+
+Sorry, but your query resulted in a search that took too long.
+Searches are limited to <% $maxcpu |h %> seconds of CPU time to
+avoid them consuming excessive resources on the server system, and to
+make sure that shorter searches can still happen.
+
+<p>
+Please try a search with a smaller minimum distance, or place more
+restrictions on the route.
+
+<%perl>
+       return;
+}
+
 if ($concur_fail) {
 </%perl>
 <h2>Server too busy</h2>