From 48b0c3c6cd46ba84ef69950fa9267fa60debc010 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Thu, 20 Jul 2017 17:41:13 -0500
Subject: [PATCH] Use pytools.MinRecursionLimit to increase recursion limit

---
 loopy/schedule/__init__.py | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/loopy/schedule/__init__.py b/loopy/schedule/__init__.py
index e05140ff5..3b34cdbbe 100644
--- a/loopy/schedule/__init__.py
+++ b/loopy/schedule/__init__.py
@@ -1750,15 +1750,10 @@ def insert_barriers(kernel, schedule, kind, verify_only, level=0):
 # {{{ main scheduling entrypoint
 
 def generate_loop_schedules(kernel, debug_args={}):
-    import sys
-    rec_limit = sys.getrecursionlimit()
-    new_limit = max(rec_limit, len(kernel.instructions) * 2)
-    sys.setrecursionlimit(new_limit)
-    try:
+    from pytools import MinRecursionLimit
+    with MinRecursionLimit(len(kernel.instructions) * 2):
         for sched in generate_loop_schedules_inner(kernel, debug_args=debug_args):
             yield sched
-    finally:
-        sys.setrecursionlimit(rec_limit)
 
 
 def generate_loop_schedules_inner(kernel, debug_args={}):
-- 
GitLab