Commit 4ae20ea8 authored by Thomas Haller's avatar Thomas Haller
Browse files

shared/systemd: fix gettid() compat implementation shadowing function from glibc

On Fedora rawhide we get the following build failure:

    In file included from shared/systemd/src/basic/alloc-util.c:3:
    ./shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h:114:21: error: static declaration of 'gettid' follows non-static declaration
      114 | static inline pid_t gettid(void) {
          |                     ^~~~~~
    In file included from /usr/include/unistd.h:1170,
                     from /usr/include/glib-2.0/gio/gcredentials.h:32,
                     from /usr/include/glib-2.0/gio/gio.h:46,
                     from ./shared/nm-utils/nm-macros-internal.h:31,
                     from ./shared/nm-default.h:293,
                     from ./shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h:22,
                     from shared/systemd/src/basic/alloc-util.c:3:
    /usr/include/bits/unistd_ext.h:34:16: note: previous declaration of 'gettid' was here
       34 | extern __pid_t gettid (void) __THROW;
          |                ^~~~~~

glibc supports now gettid() call ([1]) which conflicts with our compat
implementation. Rename it.


(cherry picked from commit 10276322)
(cherry picked from commit cfb970b2)
(cherry picked from commit d160b7b9)
(cherry picked from commit b10a7e57)
parent 0e8fb0ad
......@@ -182,9 +182,10 @@ sd_notify (int unset_environment, const char *state)
#include "async.h"
#include "util.h"
static inline pid_t gettid(void) {
static inline pid_t _nm_gettid(void) {
return (pid_t) syscall(SYS_gettid);
#define gettid() _nm_gettid ()
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment