From: David Herrmann Date: Sat, 17 Jan 2015 13:32:58 +0000 (+0100) Subject: bus-proxy: set custom thread names X-Git-Tag: v219~468 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=d3394ff47c6c60b6efb55be59e9e647ab82a857a 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. --- diff --git a/src/bus-proxyd/bus-proxyd.c b/src/bus-proxyd/bus-proxyd.c index 702f021a6..15a79fc42 100644 --- a/src/bus-proxyd/bus-proxyd.c +++ b/src/bus-proxyd/bus-proxyd.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -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;