1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-26 21:57:41 +03:00

merged tridge's code

(This used to be ctdb commit 85d23c52462f6c706626022c3d2ddf731c93599f)
This commit is contained in:
Peter Somogyi 2007-02-08 19:08:58 +01:00
commit 36a49682ed
2 changed files with 4 additions and 10 deletions

View File

@ -175,6 +175,7 @@ int ctdb_start(struct ctdb_context *ctdb)
static void ctdb_recv_pkt(struct ctdb_context *ctdb, uint8_t *data, uint32_t length)
{
struct ctdb_req_header *hdr;
if (length < sizeof(*hdr)) {
ctdb_set_error(ctdb, "Bad packet length %d\n", length);
return;
@ -229,7 +230,7 @@ static void ctdb_node_dead(struct ctdb_node *node)
}
/*
called by the transport layer when a node is dead
called by the transport layer when a node is connected
*/
static void ctdb_node_connected(struct ctdb_node *node)
{

View File

@ -38,13 +38,6 @@ static void ctdb_tcp_node_dead(struct event_context *ev, struct timed_event *te,
struct ctdb_tcp_node *tnode = talloc_get_type(node->private,
struct ctdb_tcp_node);
/* flush the queue */
while (tnode->queue) {
struct ctdb_tcp_packet *pkt = tnode->queue;
DLIST_REMOVE(tnode->queue, pkt);
talloc_free(pkt);
}
/* start a new connect cycle to try to re-establish the
link */
talloc_free(tnode->fde);
@ -68,6 +61,7 @@ void ctdb_tcp_node_write(struct event_context *ev, struct fd_event *fde,
always an error, as we have separate read and write
sockets. In future we may combine them, but for now it must
mean that the socket is dead, so we try to reconnect */
node->ctdb->upcalls->node_dead(node);
talloc_free(tnode->fde);
close(tnode->fd);
tnode->fd = -1;
@ -170,10 +164,9 @@ void ctdb_tcp_incoming_read(struct event_context *ev, struct fd_event *fde,
in->ctdb->upcalls->recv_pkt(in->ctdb, d2, len);
data += len;
nread -= len;
return;
}
if (nread < 4 || *(uint32_t *)data > nread) {
if (nread > 0) {
/* we have only part of a packet */
if (data_base == data) {
in->partial.data = data;