fix: nest msvcrt import inside fcntl except block

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.
This commit is contained in:
Teknium 2026-04-14 10:17:37 -07:00 committed by Teknium
parent 420d27098f
commit 5f36b42b2e

View file

@ -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__)