git.samba.org
/
sahlberg
/
ctdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove ctdb_set_callback() from the public API and provide the callback as part
[sahlberg/ctdb.git]
/
libctdb
/
libctdb.c
diff --git
a/libctdb/libctdb.c
b/libctdb/libctdb.c
index e4a5ea6e6d06fa7eedd2b159bcf41cc48cae8a65..9fe55a9b50602b8650f435150af333657fecc527 100644
(file)
--- a/
libctdb/libctdb.c
+++ b/
libctdb/libctdb.c
@@
-45,7
+45,7
@@
static void
ctdb_control_cb(struct ctdb_client_control_state *state)
{
struct ctdb_control_cb_data *cb_data = state->async.private_data;
ctdb_control_cb(struct ctdb_client_control_state *state)
{
struct ctdb_control_cb_data *cb_data = state->async.private_data;
- ctdb_
callback callback = (ctdb
_callback)cb_data->callback;
+ ctdb_
generic_callback callback = (ctdb_generic
_callback)cb_data->callback;
/* dont recurse */
state->async.fn = NULL;
/* dont recurse */
state->async.fn = NULL;
@@
-63,7
+63,8
@@
ctdb_control_cb(struct ctdb_client_control_state *state)
/*
* This function is used to set the callback action for a handle
*/
/*
* This function is used to set the callback action for a handle
*/
-int ctdb_set_callback(ctdb_handle *handle, ctdb_callback callback, void *private_data)
+static int
+ctdb_set_generic_callback(ctdb_handle *handle, ctdb_generic_callback callback, void *private_data)
{
struct ctdb_client_control_state *control_state = talloc_get_type(handle, struct ctdb_client_control_state);
{
struct ctdb_client_control_state *control_state = talloc_get_type(handle, struct ctdb_client_control_state);
@@
-240,7
+241,9
@@
int ctdb_free(ctdb_handle *handle)
*************************/
ctdb_handle *
ctdb_getpnn_send(struct ctdb_context *ctdb,
*************************/
ctdb_handle *
ctdb_getpnn_send(struct ctdb_context *ctdb,
- uint32_t destnode)
+ uint32_t destnode,
+ ctdb_generic_callback callback,
+ void *private_data)
{
struct ctdb_client_control_state *state;
{
struct ctdb_client_control_state *state;
@@
-253,6
+256,10
@@
ctdb_getpnn_send(struct ctdb_context *ctdb,
return NULL;
}
return NULL;
}
+ if (callback != NULL) {
+ ctdb_set_generic_callback(state, callback, private_data);
+ }
+
return (ctdb_handle *)state;
}
return (ctdb_handle *)state;
}
@@
-278,7
+285,7
@@
int ctdb_getpnn(struct ctdb_context *ctdb, uint32_t destnode, uint32_t *pnn)
{
struct ctdb_client_control_state *state;
{
struct ctdb_client_control_state *state;
- state = ctdb_getpnn_send(ctdb, destnode);
+ state = ctdb_getpnn_send(ctdb, destnode
, NULL, NULL
);
if (state == NULL) {
DEBUG(DEBUG_ERR,(__location__ " ctdb_getpnn_send() failed.\n"));
return -1;
if (state == NULL) {
DEBUG(DEBUG_ERR,(__location__ " ctdb_getpnn_send() failed.\n"));
return -1;
@@
-294,7
+301,9
@@
int ctdb_getpnn(struct ctdb_context *ctdb, uint32_t destnode, uint32_t *pnn)
***********************/
ctdb_handle *
ctdb_getrecmaster_send(struct ctdb_context *ctdb,
***********************/
ctdb_handle *
ctdb_getrecmaster_send(struct ctdb_context *ctdb,
- uint32_t destnode)
+ uint32_t destnode,
+ ctdb_generic_callback callback,
+ void *private_data)
{
struct ctdb_client_control_state *state;
{
struct ctdb_client_control_state *state;
@@
-307,6
+316,10
@@
ctdb_getrecmaster_send(struct ctdb_context *ctdb,
return NULL;
}
return NULL;
}
+ if (callback != NULL) {
+ ctdb_set_generic_callback(state, callback, private_data);
+ }
+
return (ctdb_handle *)state;
}
return (ctdb_handle *)state;
}
@@
-332,7
+345,7
@@
int ctdb_getrecmaster(struct ctdb_context *ctdb, uint32_t destnode, uint32_t *re
{
struct ctdb_client_control_state *state;
{
struct ctdb_client_control_state *state;
- state = ctdb_getrecmaster_send(ctdb, destnode);
+ state = ctdb_getrecmaster_send(ctdb, destnode
, NULL, NULL
);
if (state == NULL) {
DEBUG(DEBUG_ERR,(__location__ " ctdb_getrecmaster_send() failed.\n"));
return -1;
if (state == NULL) {
DEBUG(DEBUG_ERR,(__location__ " ctdb_getrecmaster_send() failed.\n"));
return -1;