mirror of
https://github.com/AuxXxilium/eudev.git
synced 2024-12-26 05:35:21 +07:00
util: try harder to rename the process
This commit is contained in:
parent
7fbf31dfe3
commit
9a0e689634
@ -1033,6 +1033,8 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
program_invocation_short_name = systemd;
|
||||
prctl(PR_SET_NAME, systemd);
|
||||
saved_argv = argv;
|
||||
saved_argc = argc;
|
||||
|
||||
log_show_color(isatty(STDERR_FILENO) > 0);
|
||||
log_show_location(false);
|
||||
|
17
src/util.c
17
src/util.c
@ -64,6 +64,9 @@
|
||||
#include "exit-status.h"
|
||||
#include "hashmap.h"
|
||||
|
||||
int saved_argc = 0;
|
||||
char **saved_argv = NULL;
|
||||
|
||||
size_t page_size(void) {
|
||||
static __thread size_t pgsz = 0;
|
||||
long r;
|
||||
@ -3026,6 +3029,20 @@ void rename_process(const char name[8]) {
|
||||
|
||||
if (program_invocation_name)
|
||||
strncpy(program_invocation_name, name, strlen(program_invocation_name));
|
||||
|
||||
if (saved_argc > 0) {
|
||||
int i;
|
||||
|
||||
if (saved_argv[0])
|
||||
strncpy(saved_argv[0], name, strlen(saved_argv[0]));
|
||||
|
||||
for (i = 1; i < saved_argc; i++) {
|
||||
if (!saved_argv[i])
|
||||
break;
|
||||
|
||||
memset(saved_argv[i], 0, strlen(saved_argv[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sigset_add_many(sigset_t *ss, ...) {
|
||||
|
@ -477,4 +477,7 @@ int signal_from_string(const char *s);
|
||||
|
||||
int signal_from_string_try_harder(const char *s);
|
||||
|
||||
extern int saved_argc;
|
||||
extern char **saved_argv;
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user