From 82bb27627b475e9f2a8cd1e992dcb4289b7fc2eb Mon Sep 17 00:00:00 2001 From: Susan LoVerso Date: Tue, 27 May 2014 13:07:06 -0400 Subject: [PATCH] Expose the private field with a macro. --- bench/wtperf/wtperf.c | 10 +++++----- lang/java/wiredtiger.i | 8 ++++---- lang/python/wiredtiger.i | 6 +++--- src/include/wiredtiger.in | 1 + 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/bench/wtperf/wtperf.c b/bench/wtperf/wtperf.c index d56b5452ad8..1c7976bb91c 100644 --- a/bench/wtperf/wtperf.c +++ b/bench/wtperf/wtperf.c @@ -150,7 +150,7 @@ cb_asyncop(WT_ASYNC_CALLBACK *cb, WT_ASYNC_OP *op, int ret, uint32_t flags) (void)flags; type = op->get_type(op); if (type != WT_AOP_COMPACT) { - thread = (CONFIG_THREAD *)op->c.lang_private; + thread = (CONFIG_THREAD *)op->async_app_private; cfg = thread->cfg; } trk = NULL; @@ -174,7 +174,7 @@ cb_asyncop(WT_ASYNC_CALLBACK *cb, WT_ASYNC_OP *op, int ret, uint32_t flags) trk = &thread->update; break; case WT_AOP_COMPACT: - tables = (uint32_t *)op->c.lang_private; + tables = (uint32_t *)op->async_app_private; ATOMIC_ADD(*tables, (uint32_t)-1); break; case WT_AOP_REMOVE: @@ -337,7 +337,7 @@ retry: if ((ret = conn->async_new_op( (void)usleep(10000); goto retry; } - asyncop->c.lang_private = thread; + asyncop->async_app_private = thread; asyncop->set_key(asyncop, key_buf); switch (*op) { case WORKER_READ: @@ -911,7 +911,7 @@ retry: if ((ret = conn->async_new_op( (void)usleep(10000); goto retry; } - asyncop->c.lang_private = thread; + asyncop->async_app_private = thread; sprintf(key_buf, "%0*" PRIu64, cfg->key_sz, op); asyncop->set_key(asyncop, key_buf); @@ -1288,7 +1288,7 @@ retry: if ((ret = cfg->conn->async_new_op(cfg->conn, } return (ret); } - asyncop->c.lang_private = &tables; + asyncop->async_app_private = &tables; if ((ret = asyncop->compact(asyncop)) != 0) { lprintf(cfg, ret, 0, "Async compact failed."); return (ret); diff --git a/lang/java/wiredtiger.i b/lang/java/wiredtiger.i index 5b8d033cb54..b3dc74eeaf3 100644 --- a/lang/java/wiredtiger.i +++ b/lang/java/wiredtiger.i @@ -392,9 +392,9 @@ javaAsyncHandler(WT_ASYNC_CALLBACK *cb, WT_ASYNC_OP *asyncop, int opret, WT_UNUSED(flags); op = (WT_ASYNC_OP_IMPL *)asyncop; session = O2S(op); - jcb = (JAVA_CALLBACK *)asyncop->c.lang_private; + jcb = (JAVA_CALLBACK *)asyncop->async_app_private; conn_jcb = (JAVA_CALLBACK *)S2C(session)->lang_private; - asyncop->c.lang_private = NULL; + asyncop->async_app_private = NULL; /* * We rely on the fact that the async machinery uses a pool of @@ -539,7 +539,7 @@ WT_ASYNC_CALLBACK javaApiAsyncHandler = {javaAsyncHandler}; %javamethodmodifiers java_init "protected"; int java_init(jobject jasyncop) { JAVA_CALLBACK *jcb = - (JAVA_CALLBACK *)$self->c.lang_private; + (JAVA_CALLBACK *)$self->async_app_private; jcb->jobj = JCALL1(NewGlobalRef, jcb->jnienv, jasyncop); JCALL1(DeleteLocalRef, jcb->jnienv, jasyncop); return (0); @@ -1766,7 +1766,7 @@ err: if (ret != 0) (*jenv)->GetJavaVM(jenv, &jcb->javavm); jcb->jcallback = JCALL1(NewGlobalRef, jcb->jnienv, callbackObject); JCALL1(DeleteLocalRef, jcb->jnienv, callbackObject); - asyncop->c.lang_private = jcb; + asyncop->async_app_private = jcb; asyncop->c.flags |= WT_CURSTD_RAW; err: if (ret != 0) diff --git a/lang/python/wiredtiger.i b/lang/python/wiredtiger.i index cfa9b51ea25..a07b699156e 100644 --- a/lang/python/wiredtiger.i +++ b/lang/python/wiredtiger.i @@ -110,7 +110,7 @@ from packing import pack, unpack /* XXX Is there a way to avoid SWIG's numbering? */ pcb->pyasynccb = callback_obj5; Py_XINCREF(pcb->pyasynccb); - (*$1)->c.lang_private = pcb; + (*$1)->async_app_private = pcb; } } } @@ -1033,8 +1033,8 @@ pythonAsyncCallback(WT_ASYNC_CALLBACK *cb, WT_ASYNC_OP *asyncop, int opret, op = (WT_ASYNC_OP_IMPL *)asyncop; session = O2S(op); - pcb = (PY_CALLBACK *)asyncop->c.lang_private; - asyncop->c.lang_private = NULL; + pcb = (PY_CALLBACK *)asyncop->async_app_private; + asyncop->async_app_private = NULL; ret = 0; if (pcb->pyasynccb == NULL) diff --git a/src/include/wiredtiger.in b/src/include/wiredtiger.in index 0844585bca4..03d7eaeecc5 100644 --- a/src/include/wiredtiger.in +++ b/src/include/wiredtiger.in @@ -791,6 +791,7 @@ struct __wt_async_op { * functions to manage them. */ #if !defined(SWIG) && !defined(DOXYGEN) +#define async_app_private c.lang_private WT_CURSOR c; #endif };