summaryrefslogtreecommitdiffstats
path: root/rpc/rpc-transport/socket/src/socket.c
diff options
context:
space:
mode:
authorJeff Darcy <jdarcy@redhat.com>2014-03-04 14:42:40 +0000
committerJeff Darcy <jdarcy@redhat.com>2014-03-04 14:42:40 +0000
commit0de07f4189cbd191a765c60ed3d7c72f72112e68 (patch)
tree83781a0df06c9110c6f3db12caad23ea00832b53 /rpc/rpc-transport/socket/src/socket.c
parentc28972ea53cc7cdb91c7aac01754dd7f0b66e1a7 (diff)
parent9f45d0f6212d6d5c96dafc4aba73d9d12b39c3d6 (diff)
Merge branch 'upstream' into merge
Signed-off-by: Jeff Darcy <jdarcy@redhat.com> Conflicts: api/src/glfs-fops.c libglusterfs/src/syncop.c libglusterfs/src/syncop.h Change-Id: I8c3fa7a20fb167d9e6bc2749e177c0c8b366827b
Diffstat (limited to 'rpc/rpc-transport/socket/src/socket.c')
-rw-r--r--rpc/rpc-transport/socket/src/socket.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/rpc/rpc-transport/socket/src/socket.c b/rpc/rpc-transport/socket/src/socket.c
index 490fe8a7e..c5e8b889f 100644
--- a/rpc/rpc-transport/socket/src/socket.c
+++ b/rpc/rpc-transport/socket/src/socket.c
@@ -1098,7 +1098,8 @@ socket_event_poll_out (rpc_transport_t *this)
}
pthread_mutex_unlock (&priv->lock);
- ret = rpc_transport_notify (this, RPC_TRANSPORT_MSG_SENT, NULL);
+ if (ret == 0)
+ ret = rpc_transport_notify (this, RPC_TRANSPORT_MSG_SENT, NULL);
out:
return ret;
@@ -2491,8 +2492,10 @@ socket_server_event_handler (int fd, int idx, void *data,
new_trans = GF_CALLOC (1, sizeof (*new_trans),
gf_common_mt_rpc_trans_t);
- if (!new_trans)
+ if (!new_trans) {
+ close (new_sock);
goto unlock;
+ }
ret = pthread_mutex_init(&new_trans->lock, NULL);
if (ret == -1) {
@@ -2500,6 +2503,7 @@ socket_server_event_handler (int fd, int idx, void *data,
"pthread_mutex_init() failed: %s",
strerror (errno));
close (new_sock);
+ GF_FREE (new_trans);
goto unlock;
}
@@ -2520,6 +2524,8 @@ socket_server_event_handler (int fd, int idx, void *data,
"getsockname on %d failed (%s)",
new_sock, strerror (errno));
close (new_sock);
+ GF_FREE (new_trans->name);
+ GF_FREE (new_trans);
goto unlock;
}
@@ -2527,6 +2533,8 @@ socket_server_event_handler (int fd, int idx, void *data,
ret = socket_init(new_trans);
if (ret != 0) {
close(new_sock);
+ GF_FREE (new_trans->name);
+ GF_FREE (new_trans);
goto unlock;
}
new_trans->ops = this->ops;
@@ -2549,6 +2557,8 @@ socket_server_event_handler (int fd, int idx, void *data,
gf_log(this->name,GF_LOG_ERROR,
"server setup failed");
close(new_sock);
+ GF_FREE (new_trans->name);
+ GF_FREE (new_trans);
goto unlock;
}
}
@@ -2562,6 +2572,8 @@ socket_server_event_handler (int fd, int idx, void *data,
new_sock, strerror (errno));
close (new_sock);
+ GF_FREE (new_trans->name);
+ GF_FREE (new_trans);
goto unlock;
}
}
@@ -2600,6 +2612,8 @@ socket_server_event_handler (int fd, int idx, void *data,
if (ret == -1) {
gf_log (this->name, GF_LOG_WARNING,
"failed to register the socket with event");
+ close (new_sock);
+ rpc_transport_unref (new_trans);
goto unlock;
}
@@ -3557,7 +3571,8 @@ socket_init (rpc_transport_t *this)
}
priv->ssl_ca_list = gf_strdup(priv->ssl_ca_list);
- gf_log(this->name,GF_LOG_INFO,"SSL support is %s",
+ gf_log(this->name, priv->ssl_enabled ? GF_LOG_INFO: GF_LOG_DEBUG,
+ "SSL support is %s",
priv->ssl_enabled ? "ENABLED" : "NOT enabled");
/*
* This might get overridden temporarily in socket_connect (q.v.)
@@ -3572,7 +3587,8 @@ socket_init (rpc_transport_t *this)
"invalid value given for own-thread boolean");
}
}
- gf_log(this->name,GF_LOG_INFO,"using %s polling thread",
+ gf_log(this->name, priv->own_thread ? GF_LOG_INFO: GF_LOG_DEBUG,
+ "using %s polling thread",
priv->own_thread ? "private" : "system");
if (priv->use_ssl) {