]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
restart handshake on signals.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Sun, 20 Feb 2011 11:11:52 +0000 (12:11 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Sun, 20 Feb 2011 11:11:52 +0000 (12:11 +0100)
src/udp-serv.c

index 332917ea8b2fe45fa816321c2180e3a2b05a0b42..284348325b76ffea146d0786cda255808b443d65 100644 (file)
@@ -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));