Skip to content

Commit 7a00c5a

Browse files
fix: make resource module usage Windows-compatible
1 parent ac96b79 commit 7a00c5a

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/codegen/sdk/core/file.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import os
22
import re
3-
import resource
43
import sys
54
from abc import abstractmethod
65
from collections.abc import Generator, Sequence
@@ -438,7 +437,11 @@ def __init__(self, ts_node: TSNode, filepath: PathLike, ctx: CodebaseContext) ->
438437
try:
439438
self.parse(ctx)
440439
except RecursionError as e:
441-
logger.exception(f"RecursionError parsing file {filepath}: {e} at depth {sys.getrecursionlimit()} and {resource.getrlimit(resource.RLIMIT_STACK)}")
440+
if sys.platform == "win32":
441+
logger.exception(f"RecursionError parsing file {filepath}: {e} at depth {sys.getrecursionlimit()}")
442+
else:
443+
import resource
444+
logger.exception(f"RecursionError parsing file {filepath}: {e} at depth {sys.getrecursionlimit()} and {resource.getrlimit(resource.RLIMIT_STACK)}")
442445
raise e
443446
except Exception as e:
444447
logger.exception(f"Failed to parse file {filepath}: {e}")

tests/shared/utils/recursion.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import logging
2-
import resource
32
import sys
43

54
logger = logging.getLogger(__name__)
@@ -8,5 +7,6 @@
87
def set_recursion_limit():
98
sys.setrecursionlimit(10**9)
109
if sys.platform == "linux":
10+
import resource
1111
logger.info(f"Setting stack limit to {resource.RLIM_INFINITY}")
12-
resource.setrlimit(resource.RLIMIT_STACK, (resource.RLIM_INFINITY, resource.RLIM_INFINITY))
12+
resource.setrlimit(resource.RLIMIT_STACK, (resource.RLIM_INFINITY, resource.RLIM_INFINITY))

0 commit comments

Comments
 (0)