python-codecs: fix windows leak

This commit is contained in:
Koushik Dutta
2023-08-31 18:10:10 -07:00
parent d95e9c78ea
commit 878ddbdf1c
3 changed files with 15 additions and 11 deletions

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/python-codecs",
"version": "0.1.82",
"version": "0.1.84",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@scrypted/python-codecs",
"version": "0.1.82",
"version": "0.1.84",
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
}

View File

@@ -1,6 +1,6 @@
{
"name": "@scrypted/python-codecs",
"version": "0.1.82",
"version": "0.1.84",
"description": "Python Codecs for Scrypted",
"keywords": [
"scrypted",

View File

@@ -9,6 +9,7 @@ import vipsimage
import pilimage
import time
import zygote
import os
Gst = None
try:
@@ -101,6 +102,12 @@ class GstreamerGenerator(
)
def restart():
asyncio.ensure_future(
scrypted_sdk.deviceManager.requestRestart(), loop=asyncio.get_event_loop()
)
class PythonCodecs(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.DeviceProvider):
def __init__(self, nativeId=None):
super().__init__(nativeId)
@@ -108,6 +115,10 @@ class PythonCodecs(scrypted_sdk.ScryptedDeviceBase, scrypted_sdk.DeviceProvider)
self.zygote = None
asyncio.ensure_future(self.initialize())
# 8/30/2023 clear out process leaks on various systems that i can't track down.
# 8/31/2023 this might be fixed.
asyncio.get_event_loop().call_later(24 * 60 * 60, restart)
async def initialize(self):
manifest: scrypted_sdk.DeviceManifest = {
"devices": [],
@@ -185,14 +196,7 @@ def create_scrypted_plugin():
def multiprocess_exit():
import sys
if sys.platform == "win32":
sys.exit()
else:
import os
os._exit(os.EX_OK)
os._exit(0)
class CodecFork: