summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2011-02-20 12:11:52 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2011-02-20 12:11:52 +0100
commitfe04d60ee064bfd6ba550f1f6d6f9c1301d02c10 (patch)
tree2d9303b8b922f1ecba247bbe0bb102175966e263 /src
parentfa082d45c877727e1e7e2297228f7e6ee0b7f8b6 (diff)
downloadgnutls-fe04d60ee064bfd6ba550f1f6d6f9c1301d02c10.tar.gz
restart handshake on signals.
Diffstat (limited to 'src')
-rw-r--r--src/udp-serv.c7
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));