projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
usterr-signal-safe.h: ensure all macros are trivial (10 lines max)
[lttng-ust.git]
/
include
/
lttng
/
usterr-signal-safe.h
diff --git
a/include/lttng/usterr-signal-safe.h
b/include/lttng/usterr-signal-safe.h
index b8e03dbd9ccd6d651ef670f9409a9c3ad5c69785..3e07d33b136eb1dc6975fbf9de512d5ee0e196ae 100644
(file)
--- a/
include/lttng/usterr-signal-safe.h
+++ b/
include/lttng/usterr-signal-safe.h
@@
-67,29
+67,18
@@
static inline void __attribute__ ((format (printf, 1, 2)))
{
}
{
}
+/* Can't use dynamic allocation. Limit ourselves to USTERR_MAX_LEN chars. */
+/* Add end of string in case of buffer overflow. */
#define sigsafe_print_err(fmt, args...) \
#define sigsafe_print_err(fmt, args...) \
-{ \
- /* Can't use dynamic allocation. Limit ourselves to USTERR_MAX_LEN chars. */ \
+do { \
char ____buf[USTERR_MAX_LEN]; \
int ____saved_errno; \
char ____buf[USTERR_MAX_LEN]; \
int ____saved_errno; \
- \
- /* Save the errno. */ \
- ____saved_errno = errno; \
- \
+ ____saved_errno = errno; /* signal-safety */ \
ust_safe_snprintf(____buf, sizeof(____buf), fmt, ## args); \
ust_safe_snprintf(____buf, sizeof(____buf), fmt, ## args); \
- \
- /* Add end of string in case of buffer overflow. */ \
____buf[sizeof(____buf) - 1] = 0; \
____buf[sizeof(____buf) - 1] = 0; \
- \
patient_write(STDERR_FILENO, ____buf, strlen(____buf)); \
patient_write(STDERR_FILENO, ____buf, strlen(____buf)); \
- /* \
- * Can't print errors because we are in the error printing code \
- * path. \
- */ \
- \
- /* Restore errno, in order to be async-signal safe. */ \
- errno = ____saved_errno; \
-}
+ errno = ____saved_errno; /* signal-safety */ \
+} while (0)
#define UST_STR_COMPONENT UST_XSTR(UST_COMPONENT)
#define UST_STR_COMPONENT UST_XSTR(UST_COMPONENT)
This page took
0.024307 seconds
and
4
git commands to generate.