From 5f36b42b2ed3b14a1620f4d0c6918c121698e821 Mon Sep 17 00:00:00 2001 From: Teknium Date: Tue, 14 Apr 2026 10:17:37 -0700 Subject: [PATCH] fix: nest msvcrt import inside fcntl except block MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Match cron/scheduler.py pattern — only attempt msvcrt import when fcntl is unavailable. Pre-declare msvcrt = None at module level so _file_lock() references don't NameError on Linux. --- tools/memory_tool.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tools/memory_tool.py b/tools/memory_tool.py index 7968c4aa9..eef64e709 100644 --- a/tools/memory_tool.py +++ b/tools/memory_tool.py @@ -33,15 +33,16 @@ from pathlib import Path from hermes_constants import get_hermes_home from typing import Dict, Any, List, Optional +# fcntl is Unix-only; on Windows use msvcrt for file locking +msvcrt = None try: import fcntl except ImportError: fcntl = None - -try: - import msvcrt -except ImportError: - msvcrt = None + try: + import msvcrt + except ImportError: + pass logger = logging.getLogger(__name__)