Install signal handler if we are using sigaction.
[openssl.git] / crypto / des / read_pwd.c
index db59c4c0403d00cdc2cf1c15d8cae23b69247cff..45f66b5da1aabc486a5e5f648e63c6697536faa3 100644 (file)
@@ -399,6 +399,12 @@ int verify;
 static void pushsig()
        {
        int i;
+#ifdef SIGACTION
+       struct sigaction sa;
+
+       memset(&sa,0,sizeof sa);
+       sa.sa_handler=recsig;
+#endif
 
        for (i=1; i<NX509_SIG; i++)
                {
@@ -411,7 +417,7 @@ static void pushsig()
                        continue;
 #endif
 #ifdef SIGACTION
-               sigaction(i,NULL,&savsig[i]);
+               sigaction(i,&sa,&savsig[i]);
 #else
                savsig[i]=signal(i,recsig);
 #endif