summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2019-03-11 18:11:13 +0100
committerThomas Haller <thaller@redhat.com>2020-03-06 10:30:17 +0100
commit4ae20ea80a88c8290809fa39aaaf3457cf1c0af7 (patch)
treec7358f4247db925da71097d9904ec6aa2fc9e9d8
parent0e8fb0add0ad37564176b192e1f6a91ed110df43 (diff)
downloadNetworkManager-nm-1-10.tar.gz
shared/systemd: fix gettid() compat implementation shadowing function from glibcnm-1-10
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. [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92 (cherry picked from commit 10276322bde8f015e48ac06f6a7509f514eb46f0) (cherry picked from commit cfb970b2778d7bde97fea4f5718d4a2a9a9d68f5) (cherry picked from commit d160b7b990cef4470af1e957bb9cd436ebfe1dff) (cherry picked from commit b10a7e5786e9c6bb95bd014ee165b452c247da6d)
-rw-r--r--src/systemd/sd-adapt/nm-sd-adapt.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/systemd/sd-adapt/nm-sd-adapt.h b/src/systemd/sd-adapt/nm-sd-adapt.h
index 0d291e26e5..1fe5917dbc 100644
--- a/src/systemd/sd-adapt/nm-sd-adapt.h
+++ b/src/systemd/sd-adapt/nm-sd-adapt.h
@@ -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 ()
#endif /* (NETWORKMANAGER_COMPILATION) == NM_NETWORKMANAGER_COMPILATION_SYSTEMD */