Attempt to prevent thread lock that is causing freeze.

This commit is contained in:
Storm Dragon
2026-05-12 12:42:57 -04:00
parent 878eef5c5b
commit ab7818fd4c
@@ -9,6 +9,7 @@ import getpass
import os import os
import pty import pty
import shlex import shlex
from queue import Full
import signal import signal
import struct import struct
import sys import sys
@@ -316,19 +317,26 @@ class driver(screenDriver):
event_time = time.time() event_time = time.time()
for event_state in [1, 0]: for event_state in [1, 0]:
event_queue.put( try:
{ event_queue.put(
"Type": FenrirEventType.keyboard_input, {
"data": { "Type": FenrirEventType.keyboard_input,
"event_name": "KEY_BACKSPACE", "data": {
"event_value": 0, "event_name": "KEY_BACKSPACE",
"event_sec": int(event_time), "event_value": 0,
"event_usec": int((event_time % 1) * 1000000), "event_sec": int(event_time),
"event_state": event_state, "event_usec": int((event_time % 1) * 1000000),
"event_type": 0, "event_state": event_state,
"event_type": 0,
},
}, },
} block=False,
) )
except Full:
self.env["runtime"]["DebugManager"].write_debug_out(
"ptyDriver synthesize_backspace_shortcut: Event queue full, dropping backspace events",
debug.DebugLevel.WARNING,
)
return True return True
def get_session_information(self): def get_session_information(self):