diff options
| author | Rusty Russell <rusty@rustcorp.com.au> | 2010-06-04 20:19:25 +0930 |
|---|---|---|
| committer | Rusty Russell <rusty@rustcorp.com.au> | 2010-06-04 20:19:25 +0930 |
| commit | 3a569c14bcbb6620b480ccc21abbf98c047eea2a (patch) | |
| tree | d1b3fc63aef810099e18042284f2a100b3c66c13 | |
| parent | 62df8f9a917269b8707f45c39c67b4cb91b8cf26 (diff) | |
libctdb: use bool in API
Return bool instead of -1/0; that's what the young kids are doing
these days!
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit e285b5d5a9d4fbc4f75dbb237d2fcdbd84f2d605)
| -rw-r--r-- | ctdb/include/ctdb.h | 40 | ||||
| -rw-r--r-- | ctdb/libctdb/control.c | 16 | ||||
| -rw-r--r-- | ctdb/libctdb/ctdb.c | 17 | ||||
| -rw-r--r-- | ctdb/libctdb/messages.c | 16 | ||||
| -rw-r--r-- | ctdb/libctdb/sync.c | 12 | ||||
| -rw-r--r-- | ctdb/libctdb/tst.c | 23 |
6 files changed, 60 insertions, 64 deletions
diff --git a/ctdb/include/ctdb.h b/ctdb/include/ctdb.h index 1d0a08611c..8aede08730 100644 --- a/ctdb/include/ctdb.h +++ b/ctdb/include/ctdb.h @@ -48,7 +48,7 @@ int ctdb_get_fd(struct ctdb_connection *ctdb); int ctdb_which_events(struct ctdb_connection *ctdb); -int ctdb_service(struct ctdb_connection *ctdb, int revents); +bool ctdb_service(struct ctdb_connection *ctdb, int revents); struct ctdb_request; @@ -148,11 +148,11 @@ ctdb_set_message_handler_send(struct ctdb_connection *ctdb, uint64_t srvid, ctdb_callback_t callback, void *private_data); -int ctdb_set_message_handler_recv(struct ctdb_connection *ctdb, - struct ctdb_request *handle); +bool ctdb_set_message_handler_recv(struct ctdb_connection *ctdb, + struct ctdb_request *handle); -int ctdb_set_message_handler(struct ctdb_connection *ctdb, uint64_t srvid, - ctdb_message_fn_t handler, void *private_data); +bool ctdb_set_message_handler(struct ctdb_connection *ctdb, uint64_t srvid, + ctdb_message_fn_t handler, void *private_data); @@ -164,9 +164,9 @@ ctdb_remove_message_handler_send(struct ctdb_connection *ctdb, uint64_t srvid, ctdb_callback_t callback, void *private_data); -int ctdb_remove_message_handler_recv(struct ctdb_request *handle); +bool ctdb_remove_message_handler_recv(struct ctdb_request *handle); -int ctdb_remove_message_handler(struct ctdb_connection *ctdb, uint64_t srvid); +bool ctdb_remove_message_handler(struct ctdb_connection *ctdb, uint64_t srvid); @@ -174,7 +174,7 @@ int ctdb_remove_message_handler(struct ctdb_connection *ctdb, uint64_t srvid); * send a message to a specific node/port * this function is non-blocking */ -int ctdb_send_message(struct ctdb_connection *ctdb, uint32_t pnn, uint64_t srvid, TDB_DATA data); +bool ctdb_send_message(struct ctdb_connection *ctdb, uint32_t pnn, uint64_t srvid, TDB_DATA data); @@ -186,12 +186,12 @@ ctdb_getpnn_send(struct ctdb_connection *ctdb, uint32_t destnode, ctdb_callback_t callback, void *private_data); -int ctdb_getpnn_recv(struct ctdb_connection *ctdb, - struct ctdb_request *req, uint32_t *pnn); +bool ctdb_getpnn_recv(struct ctdb_connection *ctdb, + struct ctdb_request *req, uint32_t *pnn); -int ctdb_getpnn(struct ctdb_connection *ctdb, - uint32_t destnode, - uint32_t *pnn); +bool ctdb_getpnn(struct ctdb_connection *ctdb, + uint32_t destnode, + uint32_t *pnn); @@ -204,12 +204,12 @@ ctdb_getrecmaster_send(struct ctdb_connection *ctdb, uint32_t destnode, ctdb_callback_t callback, void *private_data); -int ctdb_getrecmaster_recv(struct ctdb_connection *ctdb, - struct ctdb_request *handle, - uint32_t *recmaster); -int ctdb_getrecmaster(struct ctdb_connection *ctdb, - uint32_t destnode, - uint32_t *recmaster); +bool ctdb_getrecmaster_recv(struct ctdb_connection *ctdb, + struct ctdb_request *handle, + uint32_t *recmaster); +bool ctdb_getrecmaster(struct ctdb_connection *ctdb, + uint32_t destnode, + uint32_t *recmaster); @@ -217,7 +217,7 @@ int ctdb_getrecmaster(struct ctdb_connection *ctdb, /* * cancel a request */ -int ctdb_cancel(struct ctdb_connection *ctdb, struct ctdb_request *req); +void ctdb_cancel(struct ctdb_connection *ctdb, struct ctdb_request *req); /* diff --git a/ctdb/libctdb/control.c b/ctdb/libctdb/control.c index f861146b43..d5f23f0fcd 100644 --- a/ctdb/libctdb/control.c +++ b/ctdb/libctdb/control.c @@ -24,21 +24,21 @@ #undef ctdb_getrecmaster_send #undef ctdb_getpnn_send -int ctdb_getrecmaster_recv(struct ctdb_connection *ctdb, +bool ctdb_getrecmaster_recv(struct ctdb_connection *ctdb, struct ctdb_request *req, uint32_t *recmaster) { struct ctdb_reply_control *reply; reply = unpack_reply_control(ctdb, req, CTDB_CONTROL_GET_RECMASTER); if (!reply) { - return -1; + return false; } if (reply->status == -1) { DEBUG(ctdb, LOG_ERR, "ctdb_getrecmaster_recv: status -1"); - return -1; + return false; } *recmaster = reply->status; - return 0; + return true; } struct ctdb_request *ctdb_getrecmaster_send(struct ctdb_connection *ctdb, @@ -51,21 +51,21 @@ struct ctdb_request *ctdb_getrecmaster_send(struct ctdb_connection *ctdb, callback, private_data); } -int ctdb_getpnn_recv(struct ctdb_connection *ctdb, +bool ctdb_getpnn_recv(struct ctdb_connection *ctdb, struct ctdb_request *req, uint32_t *pnn) { struct ctdb_reply_control *reply; reply = unpack_reply_control(ctdb, req, CTDB_CONTROL_GET_PNN); if (!reply) { - return -1; + return false; } if (reply->status == -1) { DEBUG(ctdb, LOG_ERR, "ctdb_getpnn_recv: status -1"); - return -1; + return false; } *pnn = reply->status; - return 0; + return true; } struct ctdb_request *ctdb_getpnn_send(struct ctdb_connection *ctdb, diff --git a/ctdb/libctdb/ctdb.c b/ctdb/libctdb/ctdb.c index 5e4121fc2f..3350c6e5d8 100644 --- a/ctdb/libctdb/ctdb.c +++ b/ctdb/libctdb/ctdb.c @@ -103,7 +103,7 @@ static void set_pnn(struct ctdb_connection *ctdb, struct ctdb_request *req, void *unused) { - if (ctdb_getpnn_recv(ctdb, req, &ctdb->pnn) != 0) { + if (!ctdb_getpnn_recv(ctdb, req, &ctdb->pnn)) { DEBUG(ctdb, LOG_CRIT, "ctdb_connect(async): failed to get pnn"); ctdb->broken = true; @@ -327,10 +327,10 @@ static ssize_t real_error(ssize_t ret) return ret; } -int ctdb_service(struct ctdb_connection *ctdb, int revents) +bool ctdb_service(struct ctdb_connection *ctdb, int revents) { if (ctdb->broken) { - return -1; + return false; } if (holding_lock(ctdb)) { @@ -344,7 +344,7 @@ int ctdb_service(struct ctdb_connection *ctdb, int revents) DEBUG(ctdb, LOG_ERR, "ctdb_service: error writing to ctdbd"); ctdb->broken = true; - return -1; + return false; } if (io_elem_finished(ctdb->outq->io)) { struct ctdb_request *done = ctdb->outq; @@ -365,7 +365,7 @@ int ctdb_service(struct ctdb_connection *ctdb, int revents) DEBUG(ctdb, LOG_ERR, "ctdb_service: allocating readbuf"); ctdb->broken = true; - return -1; + return false; } } @@ -377,7 +377,7 @@ int ctdb_service(struct ctdb_connection *ctdb, int revents) DEBUG(ctdb, LOG_ERR, "ctdb_service: error reading from ctdbd"); ctdb->broken = true; - return -1; + return false; } else if (ret < 0) { /* No progress, stop loop. */ revents = 0; @@ -387,7 +387,7 @@ int ctdb_service(struct ctdb_connection *ctdb, int revents) } } - return 0; + return true; } /* This is inefficient. We could pull in idtree.c. */ @@ -453,14 +453,13 @@ void ctdb_cancel_callback(struct ctdb_connection *ctdb, ctdb_request_free(ctdb, req); } -int ctdb_cancel(struct ctdb_connection *ctdb, struct ctdb_request *req) +void ctdb_cancel(struct ctdb_connection *ctdb, struct ctdb_request *req) { DEBUG(ctdb, LOG_DEBUG, "ctdb_cancel: %p (id %u)", req, req->hdr.hdr ? req->hdr.hdr->reqid : 0); /* FIXME: If it's not sent, we could just free it right now. */ req->callback = ctdb_cancel_callback; - return 0; } struct ctdb_db { diff --git a/ctdb/libctdb/messages.c b/ctdb/libctdb/messages.c index e4b03d9e9e..d2d3e4b05c 100644 --- a/ctdb/libctdb/messages.c +++ b/ctdb/libctdb/messages.c @@ -43,28 +43,28 @@ void deliver_message(struct ctdb_connection *ctdb, struct ctdb_req_header *hdr) } } -int ctdb_set_message_handler_recv(struct ctdb_connection *ctdb, - struct ctdb_request *req) +bool ctdb_set_message_handler_recv(struct ctdb_connection *ctdb, + struct ctdb_request *req) { struct message_handler_info *info = req->extra; struct ctdb_reply_control *reply; reply = unpack_reply_control(ctdb, req, CTDB_CONTROL_REGISTER_SRVID); if (!reply) { - return -1; + return false; } if (reply->status != 0) { DEBUG(ctdb, LOG_WARNING, "ctdb_set_message_handler_recv: status %i", reply->status); - return -1; + return false; } /* Put ourselves in list of handlers. */ DLIST_ADD(ctdb->message_handlers, info); /* Keep safe from destructor */ req->extra = NULL; - return 0; + return true; } static void free_info(struct ctdb_connection *ctdb, struct ctdb_request *req) @@ -110,7 +110,7 @@ ctdb_set_message_handler_send(struct ctdb_connection *ctdb, uint64_t srvid, return req; } -int ctdb_send_message(struct ctdb_connection *ctdb, +bool ctdb_send_message(struct ctdb_connection *ctdb, uint32_t pnn, uint64_t srvid, TDB_DATA data) { @@ -122,7 +122,7 @@ int ctdb_send_message(struct ctdb_connection *ctdb, ctdb_cancel_callback, NULL); if (!req) { DEBUG(ctdb, LOG_ERR, "ctdb_set_message: allocating message"); - return -1; + return false; } io_elem_init_req_header(req->io, @@ -133,5 +133,5 @@ int ctdb_send_message(struct ctdb_connection *ctdb, pkt->datalen = data.dsize; memcpy(pkt->data, data.dptr, data.dsize); DLIST_ADD_END(ctdb->outq, req, struct ctdb_request); - return 0; + return true; } diff --git a/ctdb/libctdb/sync.c b/ctdb/libctdb/sync.c index b4c7b06246..3ee33011a2 100644 --- a/ctdb/libctdb/sync.c +++ b/ctdb/libctdb/sync.c @@ -59,12 +59,12 @@ static void set(struct ctdb_connection *ctdb, *done = true; } -int ctdb_getrecmaster(struct ctdb_connection *ctdb, - uint32_t destnode, uint32_t *recmaster) +bool ctdb_getrecmaster(struct ctdb_connection *ctdb, + uint32_t destnode, uint32_t *recmaster) { struct ctdb_request *req; bool done = false; - int ret = -1; + bool ret = false; req = synchronous(ctdb, ctdb_getrecmaster_send(ctdb, destnode, set, &done), @@ -95,12 +95,12 @@ struct ctdb_db *ctdb_attachdb(struct ctdb_connection *ctdb, return ret; } -int ctdb_getpnn(struct ctdb_connection *ctdb, - uint32_t destnode, uint32_t *pnn) +bool ctdb_getpnn(struct ctdb_connection *ctdb, + uint32_t destnode, uint32_t *pnn) { struct ctdb_request *req; bool done = false; - int ret = -1; + bool ret = false; req = synchronous(ctdb, ctdb_getpnn_send(ctdb, destnode, set, &done), diff --git a/ctdb/libctdb/tst.c b/ctdb/libctdb/tst.c index d3afe8d8d1..c8c08cfe7d 100644 --- a/ctdb/libctdb/tst.c +++ b/ctdb/libctdb/tst.c @@ -47,32 +47,32 @@ void msg_h(struct ctdb_connection *ctdb, uint64_t srvid, TDB_DATA data, void *pr static void pnn_cb(struct ctdb_connection *ctdb, struct ctdb_request *req, void *private) { - int status; + bool status; uint32_t pnn; status = ctdb_getpnn_recv(ctdb, req, &pnn); ctdb_request_free(ctdb, req); - if (status != 0) { + if (!status) { printf("Error reading PNN\n"); return; } - printf("status:%d pnn:%d\n", status, pnn); + printf("pnn:%d\n", pnn); } static void rm_cb(struct ctdb_connection *ctdb, struct ctdb_request *req, void *private) { - int status; + bool status; uint32_t rm; status = ctdb_getrecmaster_recv(ctdb, req, &rm); ctdb_request_free(ctdb, req); - if (status != 0) { + if (!status) { printf("Error reading RECMASTER\n"); return; } - printf("GETRECMASTER ASYNC: status:%d recmaster:%d\n", status, rm); + printf("GETRECMASTER ASYNC: recmaster:%d\n", rm); } /* @@ -118,7 +118,7 @@ static bool registered = false; void message_handler_cb(struct ctdb_connection *ctdb, struct ctdb_request *req, void *private) { - if (ctdb_set_message_handler_recv(ctdb, req) != 0) { + if (!ctdb_set_message_handler_recv(ctdb, req)) { err(1, "registering message"); } ctdb_request_free(ctdb, req); @@ -133,7 +133,6 @@ int main(int argc, char *argv[]) struct ctdb_db *ctdb_db_context; struct pollfd pfd; uint32_t recmaster; - int ret; TDB_DATA msg; bool rrl_cb_called = false; @@ -160,8 +159,7 @@ int main(int argc, char *argv[]) msg.dptr="HelloWorld"; msg.dsize = strlen(msg.dptr); - ret = ctdb_send_message(ctdb_connection, 0, 55, msg); - if (ret != 0) { + if (!ctdb_send_message(ctdb_connection, 0, 55, msg)) { printf("Failed to send message. Aborting\n"); exit(10); } @@ -183,12 +181,11 @@ int main(int argc, char *argv[]) * calls the blocking sync function. * Avoid this mode for performance critical tasks */ - ret = ctdb_getrecmaster(ctdb_connection, CTDB_CURRENT_NODE, &recmaster); - if (ret != 0) { + if (!ctdb_getrecmaster(ctdb_connection, CTDB_CURRENT_NODE, &recmaster)) { printf("Failed to receive response to getrecmaster\n"); exit(10); } - printf("GETRECMASTER SYNC: status:%d recmaster:%d\n", ret, recmaster); + printf("GETRECMASTER SYNC: recmaster:%d\n", recmaster); handle = ctdb_getpnn_send(ctdb_connection, CTDB_CURRENT_NODE, |
