Cygwin: Remove weak symbols attributes due to semantic differences
[lttng-ust.git] / include / usterr-signal-safe.h
index 375eff7c569b63d5794a6cc7932de4da81548499..474bc3c77116dab1c4419adb5b240a3fcfe6211c 100644 (file)
 
 #include <string.h>
 #include <sys/types.h>
-#include <sys/syscall.h>
 #include <errno.h>
 #include <stdarg.h>
 #include <stdio.h>
-
 #include <share.h>
+#include "lttng/ust-tid.h"
 
 enum ust_loglevel {
        UST_LOGLEVEL_UNKNOWN = 0,
@@ -85,7 +84,7 @@ do {                                                                  \
        do {                                    \
                sigsafe_print_err(UST_STR_COMPONENT "[%ld/%ld]: " fmt " (in %s() at " __FILE__ ":" UST_XSTR(__LINE__) ")\n",    \
                (long) getpid(),                \
-               (long) syscall(SYS_gettid),     \
+               (long) gettid(),                \
                ## args, __func__);             \
                fflush(stderr);                 \
        } while(0)
@@ -115,7 +114,10 @@ do {                                                                       \
 #define ERR(fmt, args...) ERRMSG("Error: " fmt, ## args)
 #define BUG(fmt, args...) ERRMSG("BUG: " fmt, ## args)
 
-#if (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE)
+#if !defined(__linux__) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE))
+/*
+ * Version using XSI strerror_r.
+ */
 #define PERROR(call, args...)\
        do { \
                char buf[200] = "Error in strerror_r()"; \
@@ -123,6 +125,9 @@ do {                                                                        \
                ERRMSG("Error: " call ": %s", ## args, buf); \
        } while(0);
 #else
+/*
+ * Version using GNU strerror_r, for linux with appropriate defines.
+ */
 #define PERROR(call, args...)\
        do { \
                char *buf; \
This page took 0.034392 seconds and 4 git commands to generate.