for (i = pos; i <= current; i++) {
if (stored_messages[msg_seq[i]] != NULL) {
do {
-
ret =
send((long int)tr,
stored_messages[msg_seq
[i]],
stored_sizes[msg_seq[i]], 0);
}
- while (ret == -1 && errno == EAGAIN);
+ while (ret == -1 && (errno == EAGAIN || errno == EINTR));
pos++;
} else
break;
do {
ret = send((long int)tr, data, len, 0);
}
- while (ret == -1 && errno == EAGAIN);
+ while (ret == -1 && (errno == EAGAIN || errno == EINTR));
current++;
pos++;
stored_messages[msg_seq[current]],
stored_sizes[msg_seq[current]], 0);
}
- while (ret == -1 && errno == EAGAIN);
+ while (ret == -1 && (errno == EAGAIN || errno == EINTR));
current++;
pos++;
return ret;
/* Initialize TLS session
*/
gnutls_init(&session, GNUTLS_CLIENT | GNUTLS_DATAGRAM);
+ gnutls_dtls_set_timeouts(session, 50 * 1000, 600 * 1000);
gnutls_heartbeat_enable(session, GNUTLS_HB_PEER_ALLOWED_TO_SEND);
gnutls_dtls_set_mtu(session, 1500);
gnutls_anon_allocate_server_credentials(&anoncred);
gnutls_init(&session, GNUTLS_SERVER | GNUTLS_DATAGRAM);
+ gnutls_dtls_set_timeouts(session, 50 * 1000, 600 * 1000);
gnutls_transport_set_push_function(session, odd_push);
gnutls_heartbeat_enable(session, GNUTLS_HB_PEER_ALLOWED_TO_SEND);
gnutls_dtls_set_mtu(session, 1500);