diff options
Diffstat (limited to 'src/protocol/pair')
| -rw-r--r-- | src/protocol/pair/pair_v0.c | 27 | ||||
| -rw-r--r-- | src/protocol/pair/pair_v1.c | 50 |
2 files changed, 37 insertions, 40 deletions
diff --git a/src/protocol/pair/pair_v0.c b/src/protocol/pair/pair_v0.c index a0e907f2..acf9ec25 100644 --- a/src/protocol/pair/pair_v0.c +++ b/src/protocol/pair/pair_v0.c @@ -53,15 +53,11 @@ static int pair0_sock_init(void **sp, nni_sock *nsock) { pair0_sock *s; - int rv; if ((s = NNI_ALLOC_STRUCT(s)) == NULL) { return (NNG_ENOMEM); } - if ((rv = nni_mtx_init(&s->mtx)) != 0) { - NNI_FREE_STRUCT(s); - return (rv); - } + nni_mtx_init(&s->mtx); s->nsock = nsock; s->ppipe = NULL; s->raw = 0; @@ -84,22 +80,19 @@ static int pair0_pipe_init(void **pp, nni_pipe *npipe, void *psock) { pair0_pipe *p; - int rv; if ((p = NNI_ALLOC_STRUCT(p)) == NULL) { return (NNG_ENOMEM); } - if (((rv = nni_aio_init(&p->aio_send, pair0_send_cb, p)) != 0) || - ((rv = nni_aio_init(&p->aio_recv, pair0_recv_cb, p)) != 0) || - ((rv = nni_aio_init(&p->aio_getq, pair0_getq_cb, p)) != 0) || - ((rv = nni_aio_init(&p->aio_putq, pair0_putq_cb, p)) != 0)) { - pair0_pipe_fini(p); - } else { - p->npipe = npipe; - p->psock = psock; - *pp = p; - } - return (rv); + nni_aio_init(&p->aio_send, pair0_send_cb, p); + nni_aio_init(&p->aio_recv, pair0_recv_cb, p); + nni_aio_init(&p->aio_getq, pair0_getq_cb, p); + nni_aio_init(&p->aio_putq, pair0_putq_cb, p); + + p->npipe = npipe; + p->psock = psock; + *pp = p; + return (0); } static void diff --git a/src/protocol/pair/pair_v1.c b/src/protocol/pair/pair_v1.c index 1a7ad9fa..2b8a9120 100644 --- a/src/protocol/pair/pair_v1.c +++ b/src/protocol/pair/pair_v1.c @@ -73,22 +73,24 @@ pair1_sock_init(void **sp, nni_sock *nsock) if ((s = NNI_ALLOC_STRUCT(s)) == NULL) { return (NNG_ENOMEM); } + if ((rv = nni_idhash_init(&s->pipes)) != 0) { + NNI_FREE_STRUCT(s); + return (NNG_ENOMEM); + } NNI_LIST_INIT(&s->plist, pair1_pipe, node); // Raw mode uses this. - if (((rv = nni_aio_init(&s->aio_getq, pair1_sock_getq_cb, s)) != 0) || - ((rv = nni_mtx_init(&s->mtx)) != 0) || - ((rv = nni_idhash_init(&s->pipes)) != 0)) { - pair1_sock_fini(s); - } else { - s->nsock = nsock; - s->raw = 0; - s->poly = 0; - s->uwq = nni_sock_sendq(nsock); - s->urq = nni_sock_recvq(nsock); - s->ttl = 8; - *sp = s; - } + nni_aio_init(&s->aio_getq, pair1_sock_getq_cb, s); + nni_mtx_init(&s->mtx); + + s->nsock = nsock; + s->raw = 0; + s->poly = 0; + s->uwq = nni_sock_sendq(nsock); + s->urq = nni_sock_recvq(nsock); + s->ttl = 8; + *sp = s; + return (0); } @@ -101,17 +103,19 @@ pair1_pipe_init(void **pp, nni_pipe *npipe, void *psock) if ((p = NNI_ALLOC_STRUCT(p)) == NULL) { return (NNG_ENOMEM); } - if (((rv = nni_msgq_init(&p->sendq, 2)) != 0) || - ((rv = nni_aio_init(&p->aio_send, pair1_pipe_send_cb, p)) != 0) || - ((rv = nni_aio_init(&p->aio_recv, pair1_pipe_recv_cb, p)) != 0) || - ((rv = nni_aio_init(&p->aio_getq, pair1_pipe_getq_cb, p)) != 0) || - ((rv = nni_aio_init(&p->aio_putq, pair1_pipe_putq_cb, p)) != 0)) { - pair1_pipe_fini(p); - } else { - p->npipe = npipe; - p->psock = psock; - *pp = p; + if ((rv = nni_msgq_init(&p->sendq, 2)) != 0) { + NNI_FREE_STRUCT(p); + return (NNG_ENOMEM); } + nni_aio_init(&p->aio_send, pair1_pipe_send_cb, p); + nni_aio_init(&p->aio_recv, pair1_pipe_recv_cb, p); + nni_aio_init(&p->aio_getq, pair1_pipe_getq_cb, p); + nni_aio_init(&p->aio_putq, pair1_pipe_putq_cb, p); + + p->npipe = npipe; + p->psock = psock; + *pp = p; + return (rv); } |
