From 54a1b3bb158245e8d5c4657d8c10f4ddbe8bc479 Mon Sep 17 00:00:00 2001 From: George Tsiamasiotis Date: Sun, 29 Sep 2024 00:10:13 +0300 Subject: [PATCH] Switch to forkserver --- frigate/__init__.py | 4 ++++ frigate/__main__.py | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/frigate/__init__.py b/frigate/__init__.py index e69de29bb..3a40ea01d 100644 --- a/frigate/__init__.py +++ b/frigate/__init__.py @@ -0,0 +1,4 @@ +from .app import FrigateApp +from .config import FrigateConfig + +__all__ = ["FrigateApp", "FrigateConfig"] diff --git a/frigate/__main__.py b/frigate/__main__.py index b086d33b3..b4f46028a 100644 --- a/frigate/__main__.py +++ b/frigate/__main__.py @@ -1,13 +1,13 @@ import argparse import faulthandler +import multiprocessing as mp import signal import sys import threading from pydantic import ValidationError -from frigate.app import FrigateApp -from frigate.config import FrigateConfig +from frigate import FrigateApp, FrigateConfig from frigate.log import setup_logging @@ -22,6 +22,10 @@ def main() -> None: # Make sure we exit cleanly on SIGTERM. signal.signal(signal.SIGTERM, lambda sig, frame: sys.exit()) + # Switch multiprocessing start method to forkserver (the default as of python 3.14). + mp.set_start_method("forkserver", force=True) + mp.set_forkserver_preload(["frigate"]) + # Parse the cli arguments. parser = argparse.ArgumentParser( prog="Frigate",