diff --git a/src/export.map b/src/export.map index 25655b77e4d..62537c63d1b 100644 --- a/src/export.map +++ b/src/export.map @@ -29,6 +29,8 @@ db_env_set_flusher_thread_callback; db_env_set_num_bucket_mutexes; + read_partitioned_counter; + toku_ydb_error_all_cases; toku_set_trace_file; toku_close_trace_file; diff --git a/util/partitioned_counter.h b/util/partitioned_counter.h index 89f624e8ea5..09d95218cee 100644 --- a/util/partitioned_counter.h +++ b/util/partitioned_counter.h @@ -122,6 +122,10 @@ PATENT RIGHTS GRANT: // // The old C interface. This required a bunch of explicit ___attribute__((__destructor__)) functions to remember to destroy counters at the end. +#if defined(__cplusplus) +extern "C" { +#endif + typedef struct partitioned_counter *PARTITIONED_COUNTER; PARTITIONED_COUNTER create_partitioned_counter(void); // Effect: Create a counter, initialized to zero. @@ -133,7 +137,7 @@ void increment_partitioned_counter(PARTITIONED_COUNTER, uint64_t amount); // Effect: Increment the counter by amount. // Requires: No overflows. This is a 64-bit unsigned counter. -uint64_t read_partitioned_counter(PARTITIONED_COUNTER); +uint64_t read_partitioned_counter(PARTITIONED_COUNTER) __attribute__((__visibility__("default"))); // Effect: Return the current value of the counter. void partitioned_counters_init(void); @@ -142,6 +146,10 @@ void partitioned_counters_init(void); void partitioned_counters_destroy(void); // Effect: Destroy any partitioned counters data structures. +#if defined(__cplusplus) +}; +#endif + #if 0 #include #include "fttypes.h"