about summary refs log tree commit diff
path: root/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2019-03-12 15:13:33 +0100
committerSebastien Bacher <seb128@ubuntu.com>2019-03-12 15:13:33 +0100
commitdd428301eb6f02542015121d7b08d9997f137e50 (patch)
tree5530189f63510287d65268fc36025bdbc9414c00 /shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h
parentbbae86d3d2997a853ca0365e8eb7a3ca7489ee09 (diff)
New upstream version 1.15.91
Diffstat (limited to 'shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h')
-rw-r--r--shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h19
1 files changed, 12 insertions, 7 deletions
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 905e45c0..06008ce8 100644
--- a/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h
+++ b/shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h
@@ -16,8 +16,8 @@
  * Copyright (C) 2014 - 2018 Red Hat, Inc.
  */
 
-#ifndef __NM_SD_ADAPT_BASIC_H__
-#define __NM_SD_ADAPT_BASIC_H__
+#ifndef __NM_SD_ADAPT_SHARED_H__
+#define __NM_SD_ADAPT_SHARED_H__
 
 #include "nm-default.h"
 
@@ -27,11 +27,16 @@
 
 /*****************************************************************************/
 
+/* 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)
 {
-    switch (LOG_PRI (slevel)) {
-    case LOG_DEBUG:   return LOGL_DEBUG;
+	switch (LOG_PRI (slevel)) {
+	case LOG_DEBUG:   return LOGL_DEBUG;
 	case LOG_WARNING: return LOGL_WARN;
 	case LOG_CRIT:
 	case LOG_ERR:     return LOGL_ERR;
@@ -54,10 +59,10 @@ _nm_log_get_max_level_realm (void)
 	const int _nm_e = (error); \
 	const NMLogLevel _nm_l = _slog_level_to_nm ((level)); \
 	\
-	if (_nm_log_enabled (_nm_l, LOGD_SYSTEMD)) { \
+	if (_nm_log_enabled_impl (!(NM_THREAD_SAFE_ON_MAIN_THREAD), _nm_l, LOGD_SYSTEMD)) { \
 		const char *_nm_location = strrchr ((""file), '/'); \
 		\
-		_nm_log_impl (_nm_location ? _nm_location + 1 : (""file), (line), (func), _nm_l, LOGD_SYSTEMD, _nm_e, NULL, NULL, ("%s"format), "libsystemd: ", ## __VA_ARGS__); \
+		_nm_log_impl (_nm_location ? _nm_location + 1 : (""file), (line), (func), !(NM_THREAD_SAFE_ON_MAIN_THREAD), _nm_l, LOGD_SYSTEMD, _nm_e, NULL, NULL, ("%s"format), "libsystemd: ", ## __VA_ARGS__); \
 	} \
 	(_nm_e > 0 ? -_nm_e : _nm_e); \
 })
@@ -130,4 +135,4 @@ static inline pid_t gettid(void) {
 
 /*****************************************************************************/
 
-#endif /* __NM_SD_ADAPT_BASIC_H__ */
+#endif /* __NM_SD_ADAPT_SHARED_H__ */