------------------------------------------------------------ revno: 84 revision-id: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: Andrew Tridgell <[EMAIL PROTECTED]> branch nick: tridge timestamp: Tue 2007-04-10 20:48:31 +1000 message: fix the queueing for partially connected tcp sockets modified: tcp/ctdb_tcp.h ctdb_tcp.h-20061127103747-l8xeniwiapbydehq-3 tcp/tcp_connect.c tcp_connect.c-20061128004937-x70q1cu5xzg5g2tm-1 tcp/tcp_init.c tcp_init.c-20061128004937-x70q1cu5xzg5g2tm-2 === modified file 'tcp/ctdb_tcp.h' --- a/tcp/ctdb_tcp.h 2007-04-10 09:33:21 +0000 +++ b/tcp/ctdb_tcp.h 2007-04-10 10:48:31 +0000 @@ -48,5 +48,6 @@ void ctdb_tcp_node_connect(struct event_context *ev, struct timed_event *te, struct timeval t, void *private); void ctdb_tcp_read_cb(uint8_t *data, size_t cnt, void *args); +void ctdb_tcp_tnode_cb(uint8_t *data, size_t cnt, void *private); #define CTDB_TCP_ALIGNMENT 8
=== modified file 'tcp/tcp_connect.c' --- a/tcp/tcp_connect.c 2007-04-10 09:40:29 +0000 +++ b/tcp/tcp_connect.c 2007-04-10 10:48:31 +0000 @@ -37,7 +37,7 @@ /* called when a complete packet has come in - should not happen on this socket */ -static void ctdb_tcp_tnode_cb(uint8_t *data, size_t cnt, void *private) +void ctdb_tcp_tnode_cb(uint8_t *data, size_t cnt, void *private) { struct ctdb_node *node = talloc_get_type(private, struct ctdb_node); struct ctdb_tcp_node *tnode = talloc_get_type(node->private, @@ -80,8 +80,7 @@ setsockopt(tnode->fd,IPPROTO_TCP,TCP_NODELAY,(char *)&one,sizeof(one)); - tnode->queue = ctdb_queue_setup(node->ctdb, node, tnode->fd, CTDB_TCP_ALIGNMENT, - ctdb_tcp_tnode_cb, node); + ctdb_queue_set_fd(tnode->queue, tnode->fd); /* tell the ctdb layer we are connected */ node->ctdb->upcalls->node_connected(node); === modified file 'tcp/tcp_init.c' --- a/tcp/tcp_init.c 2007-04-10 09:40:29 +0000 +++ b/tcp/tcp_init.c 2007-04-10 10:48:31 +0000 @@ -67,6 +67,10 @@ tnode->fd = -1; node->private = tnode; + + tnode->queue = ctdb_queue_setup(node->ctdb, node, tnode->fd, CTDB_TCP_ALIGNMENT, + ctdb_tcp_tnode_cb, node); + return 0; }