#include <sys/types.h>
#include <errno.h>
#include <stdarg.h>
+#include <stdbool.h>
#include <stdio.h>
#include <ust-share.h>
+#include "ust-helper.h"
#include "ust-tid.h"
#include "ust-snprintf.h"
-enum ust_loglevel {
- UST_LOGLEVEL_UNKNOWN = 0,
- UST_LOGLEVEL_NORMAL,
- UST_LOGLEVEL_DEBUG,
+enum ust_err_loglevel {
+ UST_ERR_LOGLEVEL_UNKNOWN = 0,
+ UST_ERR_LOGLEVEL_NORMAL,
+ UST_ERR_LOGLEVEL_DEBUG,
};
-extern volatile enum ust_loglevel ust_loglevel;
-void init_usterr(void);
+LTTNG_HIDDEN
+extern volatile enum ust_err_loglevel ust_err_loglevel;
+LTTNG_HIDDEN
+void ust_err_init(void);
#ifdef LTTNG_UST_DEBUG
-static inline int ust_debug(void)
+static inline bool ust_err_debug_enabled(void)
{
- return 1;
+ return true;
}
#else /* #ifdef LTTNG_UST_DEBUG */
-static inline int ust_debug(void)
+static inline bool ust_err_debug_enabled(void)
{
- return ust_loglevel == UST_LOGLEVEL_DEBUG;
+ return ust_err_loglevel == UST_ERR_LOGLEVEL_DEBUG;
}
#endif /* #else #ifdef LTTNG_UST_DEBUG */
+/*
+ * The default component for error messages.
+ */
#ifndef UST_COMPONENT
-//#error UST_COMPONENT is undefined
#define UST_COMPONENT libust
#endif
#define UST_XSTR(d) UST_STR(d)
#define UST_STR(s) #s
-#define USTERR_MAX_LEN 512
+#define UST_ERR_MAX_LEN 512
-/* We sometimes print in the tracing path, and tracing can occur in
+/*
+ * We sometimes print in the tracing path, and tracing can occur in
* signal handlers, so we must use a print method which is signal safe.
*/
-/* Can't use dynamic allocation. Limit ourselves to USTERR_MAX_LEN chars. */
+/* Can't use dynamic allocation. Limit ourselves to UST_ERR_MAX_LEN chars. */
/* Add end of string in case of buffer overflow. */
#define sigsafe_print_err(fmt, args...) \
do { \
- if (ust_debug()) { \
- char ____buf[USTERR_MAX_LEN]; \
+ if (ust_err_debug_enabled()) { \
+ char ____buf[UST_ERR_MAX_LEN]; \
int ____saved_errno; \
\
____saved_errno = errno; /* signal-safety */ \
*/
#define PERROR(call, args...) \
do { \
- if (ust_debug()) { \
+ if (ust_err_debug_enabled()) { \
char buf[200] = "Error in strerror_r()"; \
strerror_r(errno, buf, sizeof(buf)); \
ERRMSG("Error: " call ": %s", ## args, buf); \
*/
#define PERROR(call, args...) \
do { \
- if (ust_debug()) { \
+ if (ust_err_debug_enabled()) { \
char *buf; \
char tmp[200]; \
buf = strerror_r(errno, tmp, sizeof(tmp)); \
"Please upgrade your kernel "
"(fix is commit 9ea71503a8ed9184d2d0b8ccc4d269d05f7940ae in Linux kernel "
"mainline). LTTng-UST will use polling mode fallback.");
- if (ust_debug())
+ if (ust_err_debug_enabled())
PERROR("futex");
goto end_wait;
}
* sessiond (otherwise leading to errors when trying to create
* sessiond before the init functions are completed).
*/
- init_usterr();
- lttng_ust_getenv_init(); /* Needs init_usterr() to be completed. */
+ ust_err_init();
+ lttng_ust_getenv_init(); /* Needs ust_err_init() to be completed. */
init_tracepoint();
lttng_ust_init_fd_tracker();
lttng_ust_clock_init();
#include <usterr-signal-safe.h>
-volatile enum ust_loglevel ust_loglevel;
+volatile enum ust_err_loglevel ust_err_loglevel;
-void init_usterr(void)
+void ust_err_init(void)
{
char *ust_debug;
- if (ust_loglevel == UST_LOGLEVEL_UNKNOWN) {
+ if (ust_err_loglevel == UST_ERR_LOGLEVEL_UNKNOWN) {
/*
* This getenv is not part of lttng_getenv() because it
* is required to print ERR() performed during getenv
*/
ust_debug = getenv("LTTNG_UST_DEBUG");
if (ust_debug)
- ust_loglevel = UST_LOGLEVEL_DEBUG;
+ ust_err_loglevel = UST_ERR_LOGLEVEL_DEBUG;
else
- ust_loglevel = UST_LOGLEVEL_NORMAL;
+ ust_err_loglevel = UST_ERR_LOGLEVEL_NORMAL;
}
}