don't add signal handler on Windows

This commit is contained in:
Will McGugan
2023-08-22 16:20:53 +01:00
parent bc1af586b5
commit f3c24db18d

View File

@@ -14,6 +14,7 @@ from __future__ import annotations
import asyncio import asyncio
import json import json
import os import os
import platform
import selectors import selectors
import signal import signal
import sys import sys
@@ -28,6 +29,8 @@ from ..driver import Driver
from ..geometry import Size from ..geometry import Size
from ._byte_stream import ByteStream from ._byte_stream import ByteStream
WINDOWS = platform.system() == "Windows"
class WebDriver(Driver): class WebDriver(Driver):
"""A headless driver that may be run remotely.""" """A headless driver that may be run remotely."""
@@ -95,8 +98,9 @@ class WebDriver(Driver):
self._app._post_message(messages.ExitApp()), loop=loop self._app._post_message(messages.ExitApp()), loop=loop
) )
for _signal in (signal.SIGINT, signal.SIGTERM): if not WINDOWS:
loop.add_signal_handler(_signal, do_exit) for _signal in (signal.SIGINT, signal.SIGTERM):
loop.add_signal_handler(_signal, do_exit)
self._write(b"__GANGLION__\n") self._write(b"__GANGLION__\n")
@@ -185,3 +189,7 @@ class WebDriver(Driver):
self._app._post_message(event), self._app._post_message(event),
loop=self._loop, loop=self._loop,
) )
elif packet_type == "quit":
asyncio.run_coroutine_threadsafe(
self._app._post_message(messages.ExitApp()), loop=self._loop
)