diff options
Diffstat (limited to 'lib/thread.h')
| -rw-r--r-- | lib/thread.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/lib/thread.h b/lib/thread.h index 70090cf784..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 uint8_t types; + atomic_uint_fast32_t types; const char *funcname; }; @@ -217,6 +221,7 @@ extern struct thread *thread_fetch(struct thread_master *, struct thread *); extern void thread_call(struct thread *); extern unsigned long thread_timer_remain_second(struct thread *); extern struct timeval thread_timer_remain(struct thread *); +extern unsigned long thread_timer_remain_msec(struct thread *); extern int thread_should_yield(struct thread *); /* set yield time for thread */ extern void thread_set_yield_time(struct thread *, unsigned long); @@ -232,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 */ |
