(self, platform_name: str)
| 29 | """A process lock for global package installation per board. Acquired once during first build and released after completion.""" |
| 30 | |
| 31 | def __init__(self, platform_name: str) -> None: |
| 32 | self.platform_name = platform_name |
| 33 | |
| 34 | # Use centralized path management |
| 35 | self.paths = FastLEDPaths(platform_name) |
| 36 | # Use global lock DB (~/.fastled/locks.db) |
| 37 | home_dir = Path.home() |
| 38 | db_path = home_dir / ".fastled" / "locks.db" |
| 39 | self._db = LockDatabase(db_path) |
| 40 | self._lock_name = f"global_package:{platform_name}" |
| 41 | # Keep lock_file for backward compatibility |
| 42 | self.lock_file = self.paths.global_package_lock_file |
| 43 | self._is_acquired = False |
| 44 | |
| 45 | def _check_stale_lock(self) -> bool: |
| 46 | """Check if lock is stale (dead process) and remove if stale. |
nothing calls this directly
no test coverage detected