From f659342b489fe8ab35b921dd87c3dc8e69546884 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 14 May 2024 14:21:48 +0530 Subject: [PATCH] notify with actual exception when launching background process fails --- kitty/boss.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kitty/boss.py b/kitty/boss.py index e3b9a5a53..76d04752a 100644 --- a/kitty/boss.py +++ b/kitty/boss.py @@ -335,7 +335,7 @@ class Boss: self.primary_selection = Clipboard(ClipboardType.primary_selection) self.update_check_started = False self.peer_data_map: Dict[int, Optional[Dict[str, Sequence[str]]]] = {} - self.background_process_death_notify_map: Dict[int, Callable[[Optional[int]], None]] = {} + self.background_process_death_notify_map: Dict[int, Callable[[int, Optional[Exception]], None]] = {} self.encryption_key = EllipticCurveKey() self.encryption_public_key = f'{RC_ENCRYPTION_PROTOCOL_VERSION}:{base64.b85encode(self.encryption_key.public).decode("ascii")}' self.clipboard_buffers: Dict[str, str] = {} @@ -2308,7 +2308,7 @@ class Boss: cwd_from: Optional[CwdRequest] = None, allow_remote_control: bool = False, remote_control_passwords: Optional[Dict[str, Sequence[str]]] = None, - notify_on_death: Optional[Callable[[Optional[int]], None]] = None, + notify_on_death: Optional[Callable[[int, Optional[Exception]], None]] = None, stdout: Optional[int] = None, stderr: Optional[int] = None, ) -> None: import subprocess @@ -2367,7 +2367,7 @@ class Boss: os.close(fd) if notify_on_death: try: - notify_on_death(None) + notify_on_death(-1, err) except Exception: import traceback traceback.print_exc() @@ -2668,7 +2668,7 @@ class Boss: callback = self.background_process_death_notify_map.pop(pid, None) if callback is not None: try: - callback(exit_status) + callback(exit_status, None) except Exception: import traceback traceback.print_exc()