MCPcopy Create free account
hub / github.com/apache/thrift / socket_recv

Function socket_recv

lib/lua/src/usocket.c:242–269  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

240}
241
242T_ERRCODE socket_recv(
243 p_socket sock, char *data, size_t len, int timeout, int *received) {
244 int err, got = 0;
245 if (*sock < 0) {
246 return CLOSED;
247 }
248 *received = 0;
249
250 do {
251 got = recv(*sock, data, len, 0);
252 if (got > 0) {
253 *received = got;
254 return SUCCESS;
255 }
256 err = errno;
257
258 // Connection has been closed by peer
259 if (got == 0) {
260 return CLOSED;
261 }
262 } while (err == EINTR);
263
264 if (err == EAGAIN) {
265 return socket_wait(sock, WAIT_MODE_R, timeout);
266 }
267
268 return err;
269}
270
271////////////////////////////////////////////////////////////////////////////////
272// Util

Callers 1

tcp_raw_receiveFunction · 0.85

Calls 1

socket_waitFunction · 0.85

Tested by

no test coverage detected