summaryrefslogtreecommitdiff
path: root/lib/thread.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2019-02-13 12:47:23 -0500
committerGitHub <noreply@github.com>2019-02-13 12:47:23 -0500
commitcfef27e56ef3246a261ee0bf2810a46c08eebf8f (patch)
treeac66ba3d1f7a037ad51f21bd54a236d5388f5916 /lib/thread.h
parent01490ba25da576ec0a72c896559ebc6fa71484be (diff)
parent8ed561e1f13d0afb019a7963238bdd43ad017bec (diff)
Merge pull request #3622 from mjstapp/fix_cpp_compile
libs, daemons: changes to permit c++ compilation
Diffstat (limited to 'lib/thread.h')
-rw-r--r--lib/thread.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/thread.h b/lib/thread.h
index f404d92755..ec774a6543 100644
--- a/lib/thread.h
+++ b/lib/thread.h
@@ -27,6 +27,10 @@
#include "monotime.h"
#include "frratomic.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rusage_t {
struct rusage cpu;
struct timeval real;
@@ -119,13 +123,13 @@ struct thread {
struct cpu_thread_history {
int (*func)(struct thread *);
- _Atomic unsigned int total_calls;
- _Atomic unsigned int total_active;
+ atomic_uint_fast32_t total_calls;
+ atomic_uint_fast32_t total_active;
struct time_stats {
- _Atomic unsigned long total, max;
+ atomic_size_t total, max;
} real;
struct time_stats cpu;
- _Atomic uint32_t types;
+ atomic_uint_fast32_t types;
const char *funcname;
};
@@ -233,4 +237,8 @@ extern unsigned long thread_consumed_time(RUSAGE_T *after, RUSAGE_T *before,
/* only for use in logging functions! */
extern pthread_key_t thread_current;
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _ZEBRA_THREAD_H */