Add init function support to tsd members.

This will facilitate embedding tcache into tsd, which will require proper
initialization cannot be done via the static initializer.  Make tsd->rtree_ctx
to be initialized via rtree_ctx_data_init().
This commit is contained in:
Qi Wang
2017-03-29 13:18:02 -07:00
committed by Qi Wang
parent 5bf800a542
commit 9ed84b0d45
9 changed files with 74 additions and 33 deletions

View File

@@ -68,7 +68,8 @@ TEST_BEGIN(test_rtree_read_empty) {
tsdn = tsdn_fetch();
rtree_t *rtree = &test_rtree;
rtree_ctx_t rtree_ctx = RTREE_CTX_INITIALIZER;
rtree_ctx_t rtree_ctx;
rtree_ctx_data_init(&rtree_ctx);
assert_false(rtree_new(rtree, false), "Unexpected rtree_new() failure");
assert_ptr_null(rtree_extent_read(tsdn, rtree, &rtree_ctx, PAGE,
false), "rtree_extent_read() should return NULL for empty tree");
@@ -89,7 +90,8 @@ typedef struct {
static void *
thd_start(void *varg) {
thd_start_arg_t *arg = (thd_start_arg_t *)varg;
rtree_ctx_t rtree_ctx = RTREE_CTX_INITIALIZER;
rtree_ctx_t rtree_ctx;
rtree_ctx_data_init(&rtree_ctx);
sfmt_t *sfmt;
extent_t *extent;
tsdn_t *tsdn;
@@ -173,7 +175,8 @@ TEST_BEGIN(test_rtree_extrema) {
tsdn_t *tsdn = tsdn_fetch();
rtree_t *rtree = &test_rtree;
rtree_ctx_t rtree_ctx = RTREE_CTX_INITIALIZER;
rtree_ctx_t rtree_ctx;
rtree_ctx_data_init(&rtree_ctx);
assert_false(rtree_new(rtree, false), "Unexpected rtree_new() failure");
assert_false(rtree_write(tsdn, rtree, &rtree_ctx, PAGE, &extent_a,
@@ -207,8 +210,8 @@ TEST_BEGIN(test_rtree_bits) {
extent_state_active, false, false);
rtree_t *rtree = &test_rtree;
rtree_ctx_t rtree_ctx = RTREE_CTX_INITIALIZER;
rtree_ctx_t rtree_ctx;
rtree_ctx_data_init(&rtree_ctx);
assert_false(rtree_new(rtree, false), "Unexpected rtree_new() failure");
for (unsigned i = 0; i < sizeof(keys)/sizeof(uintptr_t); i++) {
@@ -240,7 +243,8 @@ TEST_BEGIN(test_rtree_random) {
tsdn_t *tsdn = tsdn_fetch();
uintptr_t keys[NSET];
rtree_t *rtree = &test_rtree;
rtree_ctx_t rtree_ctx = RTREE_CTX_INITIALIZER;
rtree_ctx_t rtree_ctx;
rtree_ctx_data_init(&rtree_ctx);
extent_t extent;
extent_init(&extent, NULL, NULL, 0, false, NSIZES, 0,