diff options
Diffstat (limited to 'src/third_party/wiredtiger/src/async/async_api.c')
-rw-r--r-- | src/third_party/wiredtiger/src/async/async_api.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/third_party/wiredtiger/src/async/async_api.c b/src/third_party/wiredtiger/src/async/async_api.c index e879067bbbb..9f9aa979139 100644 --- a/src/third_party/wiredtiger/src/async/async_api.c +++ b/src/third_party/wiredtiger/src/async/async_api.c @@ -345,7 +345,7 @@ __wt_async_reconfig(WT_SESSION_IMPL *session, const char *cfg[]) return (ret); } if (!conn->async_cfg && run) /* Case 2 */ - return (__async_start(session)); + return (__wt_async_create(session, cfg)); if (!conn->async_cfg) /* Case 3 */ return (0); @@ -578,22 +578,25 @@ __async_runtime_config(WT_ASYNC_OP_IMPL *op, const char *cfg[]) */ int __wt_async_new_op(WT_SESSION_IMPL *session, const char *uri, - const char *config, const char *cfg[], WT_ASYNC_CALLBACK *cb, - WT_ASYNC_OP_IMPL **opp) + const char *config, WT_ASYNC_CALLBACK *cb, WT_ASYNC_OP_IMPL **opp) { WT_ASYNC_OP_IMPL *op; WT_CONNECTION_IMPL *conn; WT_DECL_RET; + const char *cfg[] = { S2C(session)->cfg, NULL, NULL }; *opp = NULL; conn = S2C(session); if (!conn->async_cfg) + WT_RET(__wt_async_create(session, cfg)); + if (!conn->async_cfg) WT_RET_MSG( session, ENOTSUP, "Asynchronous operations not configured"); op = NULL; WT_ERR(__async_new_op_alloc(session, uri, config, &op)); + cfg[1] = config; WT_ERR(__async_runtime_config(op, cfg)); op->cb = cb; *opp = op; |