mirror of
https://github.com/AuxXxilium/eudev.git
synced 2024-12-26 13:45:14 +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;
|
program_invocation_short_name = systemd;
|
||||||
prctl(PR_SET_NAME, systemd);
|
prctl(PR_SET_NAME, systemd);
|
||||||
|
saved_argv = argv;
|
||||||
|
saved_argc = argc;
|
||||||
|
|
||||||
log_show_color(isatty(STDERR_FILENO) > 0);
|
log_show_color(isatty(STDERR_FILENO) > 0);
|
||||||
log_show_location(false);
|
log_show_location(false);
|
||||||
|
17
src/util.c
17
src/util.c
@ -64,6 +64,9 @@
|
|||||||
#include "exit-status.h"
|
#include "exit-status.h"
|
||||||
#include "hashmap.h"
|
#include "hashmap.h"
|
||||||
|
|
||||||
|
int saved_argc = 0;
|
||||||
|
char **saved_argv = NULL;
|
||||||
|
|
||||||
size_t page_size(void) {
|
size_t page_size(void) {
|
||||||
static __thread size_t pgsz = 0;
|
static __thread size_t pgsz = 0;
|
||||||
long r;
|
long r;
|
||||||
@ -3026,6 +3029,20 @@ void rename_process(const char name[8]) {
|
|||||||
|
|
||||||
if (program_invocation_name)
|
if (program_invocation_name)
|
||||||
strncpy(program_invocation_name, name, strlen(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, ...) {
|
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);
|
int signal_from_string_try_harder(const char *s);
|
||||||
|
|
||||||
|
extern int saved_argc;
|
||||||
|
extern char **saved_argv;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user