|
@@ -94,6 +94,7 @@
|
|
|
#include <sched.h>
|
|
#include <sched.h>
|
|
|
#include <time.h>
|
|
#include <time.h>
|
|
|
#include <semaphore.h>
|
|
#include <semaphore.h>
|
|
|
|
|
+#include <string.h>
|
|
|
|
|
|
|
|
#include <qb/qbdefs.h>
|
|
#include <qb/qbdefs.h>
|
|
|
#include <qb/qblog.h>
|
|
#include <qb/qblog.h>
|
|
@@ -921,6 +922,20 @@ static void corosync_setscheduler (void)
|
|
|
#endif
|
|
#endif
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+/* The basename man page contains scary warnings about
|
|
|
|
|
+ thread-safety and portability, hence this */
|
|
|
|
|
+static const char *corosync_basename(const char *file_name)
|
|
|
|
|
+{
|
|
|
|
|
+ char *base;
|
|
|
|
|
+ base = strrchr (file_name, '/');
|
|
|
|
|
+ if (base) {
|
|
|
|
|
+ return base + 1;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return file_name;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
static void
|
|
static void
|
|
|
_logsys_log_printf(int level, int subsys,
|
|
_logsys_log_printf(int level, int subsys,
|
|
|
const char *function_name,
|
|
const char *function_name,
|
|
@@ -939,7 +954,7 @@ _logsys_log_printf(int level, int subsys,
|
|
|
va_list ap;
|
|
va_list ap;
|
|
|
|
|
|
|
|
va_start(ap, format);
|
|
va_start(ap, format);
|
|
|
- qb_log_from_external_source_va(function_name, basename(file_name),
|
|
|
|
|
|
|
+ qb_log_from_external_source_va(function_name, corosync_basename(file_name),
|
|
|
format, level, file_line,
|
|
format, level, file_line,
|
|
|
subsys, ap);
|
|
subsys, ap);
|
|
|
va_end(ap);
|
|
va_end(ap);
|