summaryrefslogtreecommitdiff
path: root/wsrep
diff options
context:
space:
mode:
authorNirbhay Choubey <nirbhay@skysql.com>2014-05-21 15:04:13 -0400
committerNirbhay Choubey <nirbhay@skysql.com>2014-05-21 15:04:13 -0400
commit81a85ad8d702ddfaf91dc43b5a0bc78857759209 (patch)
treed0eb9731f3fefc18ce683810a6a3b96285c9cbd0 /wsrep
parent99df0fbad5147b02ffed926f50cef11f9427e398 (diff)
downloadmariadb-git-81a85ad8d702ddfaf91dc43b5a0bc78857759209.tar.gz
bzr merge -r3985..3991 codership/5.5
Diffstat (limited to 'wsrep')
-rw-r--r--wsrep/wsrep_dummy.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/wsrep/wsrep_dummy.c b/wsrep/wsrep_dummy.c
index 3c7f97ede3f..fb5881410ff 100644
--- a/wsrep/wsrep_dummy.c
+++ b/wsrep/wsrep_dummy.c
@@ -20,11 +20,13 @@
#include <errno.h>
#include <stdbool.h>
+#include <string.h>
/*! Dummy backend context. */
typedef struct wsrep_dummy
{
wsrep_log_cb_t log_fn;
+ char* options;
} wsrep_dummy_t;
/* Get pointer to wsrep_dummy context from wsrep_t pointer */
@@ -43,6 +45,10 @@ static void dummy_free(wsrep_t *w)
{
WSREP_DBUG_ENTER(w);
free(w->ctx);
+ if (WSREP_DUMMY(w)->options) {
+ free(WSREP_DUMMY(w)->options);
+ WSREP_DUMMY(w)->options = NULL;
+ }
w->ctx = NULL;
}
@@ -51,6 +57,9 @@ static wsrep_status_t dummy_init (wsrep_t* w,
{
WSREP_DUMMY(w)->log_fn = args->logger_cb;
WSREP_DBUG_ENTER(w);
+ if (args->options) {
+ WSREP_DUMMY(w)->options = strdup(args->options);
+ }
return WSREP_OK;
}
@@ -61,16 +70,23 @@ static uint64_t dummy_capabilities (wsrep_t* w __attribute__((unused)))
static wsrep_status_t dummy_options_set(
wsrep_t* w,
- const char* conf __attribute__((unused)))
+ const char* conf)
{
WSREP_DBUG_ENTER(w);
+ if (WSREP_DUMMY(w)->options) {
+ free(WSREP_DUMMY(w)->options);
+ WSREP_DUMMY(w)->options = NULL;
+ }
+ if (conf) {
+ WSREP_DUMMY(w)->options = strdup(conf);
+ }
return WSREP_OK;
}
static char* dummy_options_get (wsrep_t* w)
{
WSREP_DBUG_ENTER(w);
- return NULL;
+ return WSREP_DUMMY(w)->options;
}
static wsrep_status_t dummy_connect(
@@ -385,6 +401,7 @@ int wsrep_dummy_loader(wsrep_t* w)
// initialize private context
WSREP_DUMMY(w)->log_fn = NULL;
+ WSREP_DUMMY(w)->options = NULL;
return 0;
}