[oe] [PATCH] Replace siginterrupt () in gnutls

Henning Heinold heinold at inf.fu-berlin.de
Thu Mar 5 09:58:25 UTC 2009


On Wed, Mar 04, 2009 at 04:50:13PM -0800, Khem Raj wrote:
> Hi 
> 
> This patch replace use of siginterrupt () by sigaction as reccommended
> on opengroup docs
> 
> http://www.opengroup.org/onlinepubs/000095399/functions/siginterrupt.html
> 
> uclibc have conditionalized this function as SUSV4_LEGACY. I could have
> enabled this option but I chose to fix gnutls
> 
> OK for .dev
> 
> Thx
> 
> -Khem
> 

> Index: gnutls-2.4.2/src/tests.c
> ===================================================================
> --- gnutls-2.4.2.orig/src/tests.c	2008-09-15 13:04:19.000000000 -0700
> +++ gnutls-2.4.2/src/tests.c	2009-03-04 15:25:09.000000000 -0800
> @@ -491,6 +491,7 @@
>    int old, secs = 6;
>  
>  #ifndef _WIN32
> +  struct sigaction act;
>    signal (SIGALRM, got_alarm);
>  #endif
>  
> @@ -511,7 +512,9 @@
>      return TEST_FAILED;
>  
>  #ifndef _WIN32
> -  old = siginterrupt (SIGALRM, 1);
> +  (void) sigaction(SIGALRM, NULL, &act);
> +  act.sa_flags &= ~SA_RESTART;
> +  old = sigaction(SIGALRM, &act, NULL);
>    alarm (secs);
>  #else
>    setsockopt ((int)gnutls_transport_get_ptr (session), SOL_SOCKET, SO_RCVTIMEO,
> @@ -525,7 +528,12 @@
>    while (ret > 0);
>  
>  #ifndef _WIN32
> -  siginterrupt (SIGALRM, old);
> +  (void) sigaction(SIGALRM, NULL, &act);
> +  if (old)
> +    act.sa_flags &= ~SA_RESTART;
> +  else
> +    act.sa_flags |= SA_RESTART;
> +  sigaction(SIGALRM, &act, NULL);
>  #else
>    if (WSAGetLastError () == WSAETIMEDOUT ||
>        WSAGetLastError () == WSAECONNABORTED)

+1

Bye Henning




More information about the Openembedded-devel mailing list