diff --git a/server/package-lock.json b/server/package-lock.json index 17a007ffb..f7b4fffec 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/server", - "version": "0.7.41", + "version": "0.7.42", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@scrypted/server", - "version": "0.7.41", + "version": "0.7.42", "license": "ISC", "dependencies": { "@mapbox/node-pre-gyp": "^1.0.10", diff --git a/server/python/plugin_remote.py b/server/python/plugin_remote.py index 82a1e7bd5..30c4b614c 100644 --- a/server/python/plugin_remote.py +++ b/server/python/plugin_remote.py @@ -651,9 +651,7 @@ async def plugin_async_main(loop: AbstractEventLoop, rpcTransport: rpc_reader.Rp try: await readLoop() finally: - if type(rpcTransport) == rpc_reader.RpcConnectionTransport: - r: rpc_reader.RpcConnectionTransport = rpcTransport - r.executor.shutdown() + os._exit(0) def main(rpcTransport: rpc_reader.RpcTransport): loop = asyncio.new_event_loop() @@ -675,6 +673,9 @@ def plugin_main(rpcTransport: rpc_reader.RpcTransport): from gi.repository import GLib, Gst Gst.init(None) + # can't remember why starting the glib main loop is necessary. + # maybe gstreamer on linux and other things needed it? + # seems optional on other platforms. loop = GLib.MainLoop() worker = threading.Thread(target=main, args=(rpcTransport,), name="asyncio-main")