summaryrefslogtreecommitdiffstats
path: root/ctdb/tcp/tcp_init.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2007-10-22 16:41:11 +1000
committerAndrew Tridgell <tridge@samba.org>2007-10-22 16:41:11 +1000
commit8e22bca5cab9a5d28e45c11de8844c6c7a24d5e3 (patch)
tree740576ddb4d93d01d2d789e90eb668970e285dab /ctdb/tcp/tcp_init.c
parent2d8afd85d5b851f979169aac1d9e9a590246d785 (diff)
downloadsamba-8e22bca5cab9a5d28e45c11de8844c6c7a24d5e3.tar.gz
samba-8e22bca5cab9a5d28e45c11de8844c6c7a24d5e3.tar.xz
samba-8e22bca5cab9a5d28e45c11de8844c6c7a24d5e3.zip
fixed a double close of a socket, leading to an EPOLL error
(This used to be ctdb commit bbe8ad842bdfedd37ef14a6be07ad939113fe9b1)
Diffstat (limited to 'ctdb/tcp/tcp_init.c')
-rw-r--r--ctdb/tcp/tcp_init.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/ctdb/tcp/tcp_init.c b/ctdb/tcp/tcp_init.c
index 1b186c3f40..a47a18d298 100644
--- a/ctdb/tcp/tcp_init.c
+++ b/ctdb/tcp/tcp_init.c
@@ -80,8 +80,9 @@ static int ctdb_tcp_start(struct ctdb_context *ctdb)
struct ctdb_tcp_node *tnode = talloc_get_type(
node->private_data, struct ctdb_tcp_node);
if (!ctdb_same_address(&ctdb->address, &node->address)) {
- event_add_timed(ctdb->ev, tnode, timeval_zero(),
- ctdb_tcp_node_connect, node);
+ tnode->connect_te = event_add_timed(ctdb->ev, tnode,
+ timeval_zero(),
+ ctdb_tcp_node_connect, node);
}
}
@@ -99,11 +100,10 @@ static void ctdb_tcp_restart(struct ctdb_node *node)
DEBUG(0,("Tearing down connection to dead node :%d\n", node->pnn));
- tnode->fd = -1;
- ctdb_queue_set_fd(tnode->out_queue, -1);
+ ctdb_tcp_stop_connection(node);
- event_add_timed(node->ctdb->ev, tnode, timeval_zero(),
- ctdb_tcp_node_connect, node);
+ tnode->connect_te = event_add_timed(node->ctdb->ev, tnode, timeval_zero(),
+ ctdb_tcp_node_connect, node);
}