Rev 84: fix the queueing for partially connected tcp sockets in http://samba.org/~tridge/ctdb

tridge at samba.org tridge at samba.org
Tue Apr 10 10:48:31 GMT 2007


------------------------------------------------------------
revno: 84
revision-id: tridge at samba.org-20070410104831-d956235aa1d7329f
parent: tridge at samba.org-20070410094029-2b9561032c749c8a
committer: Andrew Tridgell <tridge at samba.org>
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;
 }
 



More information about the samba-cvs mailing list