diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-02-20 12:11:52 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-02-20 12:11:52 +0100 |
commit | fe04d60ee064bfd6ba550f1f6d6f9c1301d02c10 (patch) | |
tree | 2d9303b8b922f1ecba247bbe0bb102175966e263 /src | |
parent | fa082d45c877727e1e7e2297228f7e6ee0b7f8b6 (diff) | |
download | gnutls-fe04d60ee064bfd6ba550f1f6d6f9c1301d02c10.tar.gz |
restart handshake on signals.
Diffstat (limited to 'src')
-rw-r--r-- | src/udp-serv.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/udp-serv.c b/src/udp-serv.c index 332917ea8b..284348325b 100644 --- a/src/udp-serv.c +++ b/src/udp-serv.c @@ -63,7 +63,12 @@ int udp_server(const char* name, int port) gnutls_transport_set_pull_function (session, pull_func); gnutls_transport_set_pull_timeout_function (session, pull_timeout_func); - ret = gnutls_handshake(session); + do + { + ret = gnutls_handshake(session); + } + while(ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED); + if (ret < 0) { fprintf(stderr, "Error in handshake(): %s\n", gnutls_strerror(ret)); |