aboutsummaryrefslogtreecommitdiff
path: root/src/transport
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport')
-rw-r--r--src/transport/inproc/inproc.c12
-rw-r--r--src/transport/ipc/ipc.c22
-rw-r--r--src/transport/tcp/tcp.c22
3 files changed, 24 insertions, 32 deletions
diff --git a/src/transport/inproc/inproc.c b/src/transport/inproc/inproc.c
index 3bc24c41..08cf99a2 100644
--- a/src/transport/inproc/inproc.c
+++ b/src/transport/inproc/inproc.c
@@ -65,14 +65,9 @@ static nni_inproc_global nni_inproc;
static int
nni_inproc_init(void)
{
- int rv;
-
NNI_LIST_INIT(&nni_inproc.servers, nni_inproc_ep, node);
- if ((rv = nni_mtx_init(&nni_inproc.mx)) != 0) {
- return (rv);
- }
-
+ nni_mtx_init(&nni_inproc.mx);
return (0);
}
@@ -309,8 +304,7 @@ nni_inproc_accept_clients(nni_inproc_ep *server)
continue;
}
- if (((rv = nni_mtx_init(&pair->mx)) != 0) ||
- ((rv = nni_msgq_init(&pair->q[0], 4)) != 0) ||
+ if (((rv = nni_msgq_init(&pair->q[0], 4)) != 0) ||
((rv = nni_msgq_init(&pair->q[1], 4)) != 0)) {
nni_inproc_pair_destroy(pair);
nni_inproc_conn_finish(caio, rv);
@@ -318,6 +312,8 @@ nni_inproc_accept_clients(nni_inproc_ep *server)
continue;
}
+ nni_mtx_init(&pair->mx);
+
pair->pipes[0] = caio->a_pipe;
pair->pipes[1] = saio->a_pipe;
pair->pipes[0]->rq = pair->pipes[1]->wq = pair->q[0];
diff --git a/src/transport/ipc/ipc.c b/src/transport/ipc/ipc.c
index 7d976122..0b0e487f 100644
--- a/src/transport/ipc/ipc.c
+++ b/src/transport/ipc/ipc.c
@@ -107,18 +107,14 @@ static int
nni_ipc_pipe_init(nni_ipc_pipe **pipep, nni_ipc_ep *ep, void *ipp)
{
nni_ipc_pipe *p;
- int rv;
if ((p = NNI_ALLOC_STRUCT(p)) == NULL) {
return (NNG_ENOMEM);
}
- if (((rv = nni_mtx_init(&p->mtx)) != 0) ||
- ((rv = nni_aio_init(&p->txaio, nni_ipc_pipe_send_cb, p)) != 0) ||
- ((rv = nni_aio_init(&p->rxaio, nni_ipc_pipe_recv_cb, p)) != 0) ||
- ((rv = nni_aio_init(&p->negaio, nni_ipc_pipe_nego_cb, p)) != 0)) {
- nni_ipc_pipe_fini(p);
- return (rv);
- }
+ nni_mtx_init(&p->mtx);
+ nni_aio_init(&p->txaio, nni_ipc_pipe_send_cb, p);
+ nni_aio_init(&p->rxaio, nni_ipc_pipe_recv_cb, p);
+ nni_aio_init(&p->negaio, nni_ipc_pipe_nego_cb, p);
p->proto = ep->proto;
p->rcvmax = ep->rcvmax;
@@ -490,12 +486,14 @@ nni_ipc_ep_init(void **epp, const char *url, nni_sock *sock, int mode)
if ((ep = NNI_ALLOC_STRUCT(ep)) == NULL) {
return (NNG_ENOMEM);
}
- if (((rv = nni_mtx_init(&ep->mtx)) != 0) ||
- ((rv = nni_aio_init(&ep->aio, nni_ipc_ep_cb, ep)) != 0) ||
- ((rv = nni_plat_ipc_ep_init(&ep->iep, url, mode)) != 0)) {
- nni_ipc_ep_fini(ep);
+ if ((rv = nni_plat_ipc_ep_init(&ep->iep, url, mode)) != 0) {
+ NNI_FREE_STRUCT(ep);
return (rv);
}
+
+ nni_mtx_init(&ep->mtx);
+ nni_aio_init(&ep->aio, nni_ipc_ep_cb, ep);
+
ep->closed = 0;
ep->proto = nni_sock_proto(sock);
ep->rcvmax = nni_sock_rcvmaxsz(sock);
diff --git a/src/transport/tcp/tcp.c b/src/transport/tcp/tcp.c
index 4d47733b..b3136b35 100644
--- a/src/transport/tcp/tcp.c
+++ b/src/transport/tcp/tcp.c
@@ -107,18 +107,15 @@ static int
nni_tcp_pipe_init(nni_tcp_pipe **pipep, nni_tcp_ep *ep, void *tpp)
{
nni_tcp_pipe *p;
- int rv;
if ((p = NNI_ALLOC_STRUCT(p)) == NULL) {
return (NNG_ENOMEM);
}
- if (((rv = nni_mtx_init(&p->mtx)) != 0) ||
- ((rv = nni_aio_init(&p->txaio, nni_tcp_pipe_send_cb, p)) != 0) ||
- ((rv = nni_aio_init(&p->rxaio, nni_tcp_pipe_recv_cb, p)) != 0) ||
- ((rv = nni_aio_init(&p->negaio, nni_tcp_pipe_nego_cb, p)) != 0)) {
- nni_tcp_pipe_fini(p);
- return (rv);
- }
+ nni_mtx_init(&p->mtx);
+ nni_aio_init(&p->txaio, nni_tcp_pipe_send_cb, p);
+ nni_aio_init(&p->rxaio, nni_tcp_pipe_recv_cb, p);
+ nni_aio_init(&p->negaio, nni_tcp_pipe_nego_cb, p);
+
p->proto = ep->proto;
p->rcvmax = ep->rcvmax;
p->tpp = tpp;
@@ -555,12 +552,13 @@ nni_tcp_ep_init(void **epp, const char *url, nni_sock *sock, int mode)
if ((ep = NNI_ALLOC_STRUCT(ep)) == NULL) {
return (NNG_ENOMEM);
}
- if (((rv = nni_mtx_init(&ep->mtx)) != 0) ||
- ((rv = nni_aio_init(&ep->aio, nni_tcp_ep_cb, ep)) != 0) ||
- ((rv = nni_plat_tcp_ep_init(&ep->tep, url, mode)) != 0)) {
- nni_tcp_ep_fini(ep);
+ if ((rv = nni_plat_tcp_ep_init(&ep->tep, url, mode)) != 0) {
+ NNI_FREE_STRUCT(ep);
return (rv);
}
+ nni_mtx_init(&ep->mtx);
+ nni_aio_init(&ep->aio, nni_tcp_ep_cb, ep);
+
ep->closed = 0;
ep->proto = nni_sock_proto(sock);
ep->rcvmax = nni_sock_rcvmaxsz(sock);