sysvinit: backport patch for fixing one issue of pidof

When a program is a link to an executable, and this executable is
handled by update-alternatives, renamed to a different name, cmd
`pidof full_path_of_program` will not work.

Eg:
/usr/sbin/httpd -> /usr/sbin/httpd.apache2
`pidof /usr/sbin/httpd` cannot get pid of the process httpd

Backport the patch to fix above issue.

(From OE-Core rev: 60e6fe983c82d8a62fc07d9271d44d0cb072f0fd)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Changqing Li 2024-11-20 12:36:58 +08:00 committed by Steve Sakoman
parent ca10bad4db
commit 055a8f6fc8
2 changed files with 32 additions and 0 deletions

View File

@ -0,0 +1,31 @@
From 5be52641a10ad6cd89bc7cdb80318e32be7e6662 Mon Sep 17 00:00:00 2001
From: Jesse <jsmith@resonatingmedia.com>
Date: Wed, 29 Mar 2023 10:34:45 -0300
Subject: [PATCH] Accepted patch from Mark Hindley which avoids clearing
realpath information in pidof when trying to find matching executables.
Upstream-Status: Backport [https://github.com/slicer69/sysvinit/commit/c06458e1c1822a2c8ff89fbdd29262ca97dd18b1#diff-4244fa301bd80b0a8f553ce0751fb0fcde1a45ee9dee71db85135cffde8ac712R13]
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
src/killall5.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/killall5.c b/src/killall5.c
index 86866b0..f7a401e 100644
--- a/src/killall5.c
+++ b/src/killall5.c
@@ -766,8 +766,8 @@ PIDQ_HEAD *pidof(char *prog)
return NULL;
/* Try to stat the executable. */
+ memset(real_path, 0, sizeof(real_path));
if ( (prog[0] == '/') && ( realpath(prog, real_path) ) ) {
- memset(&real_path[0], 0, sizeof(real_path));
dostat++;
}
--
2.25.1

View File

@ -23,6 +23,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.xz \
file://bootlogd.init \
file://01_bootlogd \
file://0001-hddown-include-libgen.h-for-basename-API.patch \
file://0001-Accepted-patch-from-Mark-Hindley-which-avoids-cleari.patch \
"
SRC_URI[sha256sum] = "2a621fe6e4528bc91308b74867ddaaebbdf7753f02395c0c5bae817bd2b7e3a5"