bus-proxy: set custom thread names
Set thread-names to "p$PIDu$UID" and suffix with '*' if truncated. This helps debugging bus-proxy issues if we want to figure out which connections are currently open.
This commit is contained in:
parent
a8a1a43f48
commit
d3394ff47c
|
@ -30,6 +30,7 @@
|
|||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <sys/poll.h>
|
||||
#include <sys/prctl.h>
|
||||
#include <stddef.h>
|
||||
#include <getopt.h>
|
||||
#include <pthread.h>
|
||||
|
@ -91,12 +92,19 @@ static int client_context_new(ClientContext **out, int fd) {
|
|||
static void *run_client(void *userdata) {
|
||||
_cleanup_(client_context_freep) ClientContext *c = userdata;
|
||||
_cleanup_(proxy_freep) Proxy *p = NULL;
|
||||
char comm[16];
|
||||
int r;
|
||||
|
||||
r = proxy_new(&p, c->fd, c->fd, arg_address);
|
||||
if (r < 0)
|
||||
goto exit;
|
||||
|
||||
/* set comm to "p$PIDu$UID" and suffix with '*' if truncated */
|
||||
r = snprintf(comm, sizeof(comm), "p" PID_FMT "u" UID_FMT, p->local_creds.pid, p->local_creds.uid);
|
||||
if (r >= (ssize_t)sizeof(comm))
|
||||
comm[sizeof(comm) - 2] = '*';
|
||||
(void) prctl(PR_SET_NAME, comm);
|
||||
|
||||
r = proxy_load_policy(p, arg_configuration);
|
||||
if (r < 0)
|
||||
goto exit;
|
||||
|
|
Loading…
Reference in a new issue