1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#include <nxt_main.h>
8

--- 16 unchanged lines hidden (view full) ---

25static ssize_t nxt_recvmsg(nxt_socket_t s, nxt_fd_t *fd, nxt_iobuf_t *iob,
26 nxt_uint_t niob);
27
28
29nxt_int_t
30nxt_socketpair_create(nxt_task_t *task, nxt_socket_t *pair)
31{
32 if (nxt_slow_path(socketpair(AF_UNIX, NXT_UNIX_SOCKET, 0, pair) != 0)) {
33 nxt_log(task, NXT_LOG_CRIT, "socketpair() failed %E", nxt_errno);
33 nxt_alert(task, "socketpair() failed %E", nxt_errno);
34 return NXT_ERROR;
35 }
36
37 nxt_debug(task, "socketpair(): %d:%d", pair[0], pair[1]);
38
39 if (nxt_slow_path(nxt_socket_nonblocking(task, pair[0]) != NXT_OK)) {
40 goto fail;
41 }

--- 56 unchanged lines hidden (view full) ---

98
99 return NXT_AGAIN;
100
101 case NXT_EINTR:
102 nxt_debug(ev->task, "sendmsg(%d) interrupted", ev->fd);
103 continue;
104
105 default:
106 nxt_log(ev->task, NXT_LOG_CRIT, "sendmsg(%d, %FD, %ui) failed %E",
107 ev->fd, fd, niob, err);
106 nxt_alert(ev->task, "sendmsg(%d, %FD, %ui) failed %E",
107 ev->fd, fd, niob, err);
108
109 return NXT_ERROR;
110 }
111 }
112}
113
114
115ssize_t

--- 31 unchanged lines hidden (view full) ---

147
148 return NXT_AGAIN;
149
150 case NXT_EINTR:
151 nxt_debug(ev->task, "recvmsg(%d) interrupted", ev->fd);
152 continue;
153
154 default:
155 nxt_log(ev->task, NXT_LOG_CRIT, "recvmsg(%d, %p, %ui) failed %E",
156 ev->fd, fd, niob, err);
155 nxt_alert(ev->task, "recvmsg(%d, %p, %ui) failed %E",
156 ev->fd, fd, niob, err);
157
158 return NXT_ERROR;
159 }
160 }
161}
162
163
164#if (NXT_HAVE_MSGHDR_MSG_CONTROL)

--- 136 unchanged lines hidden ---