diff options
author | Martin Schwenke <martin@meltin.net> | 2017-09-14 15:19:43 +1000 |
---|---|---|
committer | Martin Schwenke <martins@samba.org> | 2017-09-19 13:30:27 +0200 |
commit | 3f78dddea95fb90ac01d52229d9449c6b094de64 (patch) | |
tree | 11ae31b50fb40d2af6d0aabe06abade2d9c1e4c0 /ctdb | |
parent | 7a2db5410f745f0c745399a0190a9064fa173696 (diff) | |
download | samba-3f78dddea95fb90ac01d52229d9449c6b094de64.tar.gz |
ctdb-tools: Improve error handling
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Diffstat (limited to 'ctdb')
-rw-r--r-- | ctdb/tools/ctdb_killtcp.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/ctdb/tools/ctdb_killtcp.c b/ctdb/tools/ctdb_killtcp.c index e88ef210f5b..d1eee535e1c 100644 --- a/ctdb/tools/ctdb_killtcp.c +++ b/ctdb/tools/ctdb_killtcp.c @@ -64,10 +64,11 @@ static void capture_tcp_handler(struct tevent_context *ev, uint16_t window; int ret; - if (ctdb_sys_read_tcp_packet(killtcp->capture_fd, - killtcp->private_data, - &conn.server, &conn.client, - &ack_seq, &seq, &rst, &window) != 0) { + ret = ctdb_sys_read_tcp_packet(killtcp->capture_fd, + killtcp->private_data, + &conn.server, &conn.client, + &ack_seq, &seq, &rst, &window); + if (ret != 0) { /* probably a non-tcp ACK packet */ return; } @@ -97,7 +98,10 @@ static void capture_tcp_handler(struct tevent_context *ev, D_INFO("Sending a TCP RST to kill connection %s\n", ctdb_connection_to_string(killtcp, &conn, true)); - ctdb_sys_send_tcp(&conn.server, &conn.client, ack_seq, seq, 1); + ret = ctdb_sys_send_tcp(&conn.server, &conn.client, ack_seq, seq, 1); + if (ret != 0) { + DBG_ERR("Error sending TCP RST for connection\n"); + } } @@ -108,6 +112,7 @@ static int tickle_connection_parser(uint8_t *keybuf, size_t keylen, struct ctdb_kill_tcp *killtcp = talloc_get_type_abort( private_data, struct ctdb_kill_tcp); struct ctdb_connection *conn; + int ret; if (keylen != sizeof(*conn)) { DBG_WARNING("Unexpected data in connection hash\n"); @@ -122,7 +127,11 @@ static int tickle_connection_parser(uint8_t *keybuf, size_t keylen, return 1; } - ctdb_sys_send_tcp(&conn->server, &conn->client, 0, 0, 0); + ret = ctdb_sys_send_tcp(&conn->server, &conn->client, 0, 0, 0); + if (ret != 0) { + DBG_ERR("Error sending tickle ACK\n"); + /* continue */ + } return 0; } |