diff mbox series

[meta-arago,scarthgap,1/2] emptty: backport fix for signal handeling

Message ID 20251001183102.357345-1-rs@ti.com
State Under Review
Delegated to: Ryan Eatmon
Headers show
Series [meta-arago,scarthgap,1/2] emptty: backport fix for signal handeling | expand

Commit Message

Randolph Sapp Oct. 1, 2025, 6:31 p.m. UTC
From: Randolph Sapp <rs@ti.com>

To quote the upstream patch:

	Emptty cannot currently exit via an external signal if the
	session process exits abnormally. This conflicts with the
	expected behavior of systemd, which expects that the service
	will always respect signals.

	This has the added benefit of allowing users to use ^C to
	restart the login process at any point in the menu system.

Backporting this since it hasn't hit a tagged release yet.

Signed-off-by: Randolph Sapp <rs@ti.com>
---
 .../recipes-graphics/emptty/emptty.inc        |  1 +
 ...Interrupt-handle-unruly-applications.patch | 52 +++++++++++++++++++
 2 files changed, 53 insertions(+)
 create mode 100644 meta-arago-distro/recipes-graphics/emptty/emptty/0001-handleInterrupt-handle-unruly-applications.patch

Comments

PRC Automation Oct. 1, 2025, 6:36 p.m. UTC | #1
meta-arago / na / 20251001183102.357345-1-rs

PRC Results: PASS

=========================================================
  check-yocto-patches: PASS
=========================================================
Patches
----------------------------------------
WARN - [meta-arago][scarthgap][PATCH 1/2] emptty: backport fix for signal handeling
    WARN: Commit message should not include directory path to recipe: emptty: backport fix for signal handeling.
              emptty: (COMMIT-MESSAGE-3)
        patch



=========================================================
  apply-yocto-patch: PASS
=========================================================
scarthgap
=====================
Summary:
- Patch Series: [meta-arago][scarthgap][PATCH 1/2] emptty: backport fix for signal handeling
- Submitter: From: <rs@ti.com>
From: Randolph Sapp <rs@ti.com>
+From: Randolph Sapp <rs@ti.com>
- Date: Date: Wed, 1 Oct 2025 13:31:01 -0500
+Date: Tue, 30 Sep 2025 20:05:05 -0500
- Num Patches: 2
- Mailing List (public inbox) Commit SHA: b187606b26e81402f170cc37c03e685e1673ad37

Applied to:
- Repository: lcpd-prc-meta-arago
- Base Branch: scarthgap-wip
- Commit Author: Antonios Christidis <a-christidis@ti.com>
- Commit Subject: ti-test: Add libsdl2-tests to packagegroup
- Commit SHA: 94aba9851641f221eb7334cc2c4873c0eb04fc35

Patches
----------------------------------------
All patches applied



=========================================================
  check-yocto-repo: PASS
=========================================================
scarthgap
=====================
PASS
diff mbox series

Patch

diff --git a/meta-arago-distro/recipes-graphics/emptty/emptty.inc b/meta-arago-distro/recipes-graphics/emptty/emptty.inc
index b452d403..4f23cf79 100644
--- a/meta-arago-distro/recipes-graphics/emptty/emptty.inc
+++ b/meta-arago-distro/recipes-graphics/emptty/emptty.inc
@@ -19,6 +19,7 @@  SRC_URI = "\
     git://${GO_IMPORT_pam}.git;protocol=https;branch=master;name=pam;destsuffix=src/${GO_IMPORT_pam} \
     file://pamconf \
     file://emptty.tab \
+    file://0001-handleInterrupt-handle-unruly-applications.patch;patchdir=src/${GO_IMPORT} \
     "
 SRCREV = "d162bef75fadc8ae1d8e33dbb3de5e2795a196e0"
 SRCREV_pam = "50ded1b0e7864b9bf75005eb945a8ec826bcf69d"
diff --git a/meta-arago-distro/recipes-graphics/emptty/emptty/0001-handleInterrupt-handle-unruly-applications.patch b/meta-arago-distro/recipes-graphics/emptty/emptty/0001-handleInterrupt-handle-unruly-applications.patch
new file mode 100644
index 00000000..ecd190e5
--- /dev/null
+++ b/meta-arago-distro/recipes-graphics/emptty/emptty/0001-handleInterrupt-handle-unruly-applications.patch
@@ -0,0 +1,52 @@ 
+From cce0e23719f30a362dc5de69eb92d9a1c0859403 Mon Sep 17 00:00:00 2001
+From: Randolph Sapp <rs@ti.com>
+Date: Tue, 30 Sep 2025 20:05:05 -0500
+Subject: [PATCH] handleInterrupt: handle unruly applications
+
+Emptty cannot currently exit via an external signal if the session
+process exits abnormally. This conflicts with the expected behavior of
+systemd, which expects that the service will always respect signals.
+
+This has the added benefit of allowing users to use ^C to restart the
+login process at any point in the menu system.
+
+
+Upstream-Status: Backport [https://github.com/tvrzna/emptty/commit/d875bac9ce22c2739dfd4644880371b6e16a1cb6]
+Signed-off-by: Randolph Sapp <rs@ti.com>
+---
+ src/emptty.go | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/src/emptty.go b/src/emptty.go
+index b5bc735..97d00f0 100644
+--- a/src/emptty.go
++++ b/src/emptty.go
+@@ -61,14 +61,19 @@ func handleInterrupt(c chan os.Signal, h *sessionHandle) {
+ 	setTerminalEcho(os.Stdout.Fd(), true)
+ 	if h.session != nil && h.session.cmd != nil {
+ 		h.session.interrupted = true
+-		h.session.cmd.Process.Signal(os.Interrupt)
+-		h.session.cmd.Wait()
+-	} else {
+-		if h.auth != nil {
+-			h.auth.closeAuth()
++		if err := h.session.cmd.Process.Signal(os.Interrupt); err != nil {
++			logPrint("Application not responding to signal")
++		} else {
++			// Only attempt clean shutdown if cmd is still
++			// responsive
++			h.session.cmd.Wait()
+ 		}
+-		os.Exit(1)
+ 	}
++	// Always attempt to close active auth instances before exit
++	if h.auth != nil {
++		h.auth.closeAuth()
++	}
++	os.Exit(1)
+ }
+ 
+ // Process core arguments for help and version, because they don't require any further application run
+-- 
+2.51.0
+