diff --git a/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h b/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h index a4f9ecd2e..06008ce86 100644 --- a/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h +++ b/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h @@ -27,6 +27,11 @@ /*****************************************************************************/ +/* strerror() is not thread-safe. Patch systemd-sources via a define. */ +#define strerror(errsv) nm_strerror_native (errsv) + +/*****************************************************************************/ + static inline NMLogLevel _slog_level_to_nm (int slevel) { diff --git a/src/tests/test-systemd.c b/src/tests/test-systemd.c index 0c2425255..91edcab24 100644 --- a/src/tests/test-systemd.c +++ b/src/tests/test-systemd.c @@ -80,6 +80,12 @@ nm_logging_setup (const char *level, return TRUE; } +const char * +nm_strerror_native (int errsv) +{ + return g_strerror (errsv); +} + /*****************************************************************************/ static void