-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
In
SquirrelChat/src/net_input_handler.c
Lines 259 to 268 in 55d653e
| else if (result == -1) { | |
| sqchat_buffer_print(network->buffer, | |
| "Error: %s\n" | |
| "Closing connection.\n", | |
| strerror(errno)); | |
| close(network->socket); | |
| finish_network_disconnect(network); | |
| return FALSE; |
EINTR
The receive was interrupted by delivery of a signal before any data were available; see signal(7).
This is a recoverable failure; it merely means that the recv(2) call needs to be retried.
Somewhat relatedly,
SquirrelChat/src/net_input_handler.c
Lines 182 to 184 in 55d653e
| else if (result == GNUTLS_E_INTERRUPTED || | |
| result == GNUTLS_E_AGAIN) | |
| return TRUE; |
gnutls_read but it aborts the whole function with a return TRUE instead of just retrying the read with a continue. This is obviously less of a problem, since presumably glib will still sense that the socket has data ready to be read and re-call the whole function, but it seems like it would be simpler to instead simply retry the read.Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels