util: try harder to rename the process

This commit is contained in:
Lennart Poettering 2011-06-30 04:16:10 +02:00
parent 7fbf31dfe3
commit 9a0e689634
3 changed files with 22 additions and 0 deletions

View File

@ -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);

View File

@ -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, ...) {

View File

@ -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