+int
+siginterrupt (int sig, int flag)
+{
+ struct sigaction act;
+
+ if (sigaction (sig, NULL,&act)< 0)
+ return -1;
POSIX ignores sigaction failure here, rather than returning -1.
In practice the only difference is that for EINVAL the POSIX version
will cause spurious valgrind failures. Better to keep the if, even
though I agree that it's better not to use siginterrupt in the first place.
If the code is the one of
http://www.google.com/codesearch/p#PvVS7tbiN-U/gnutls-1.6.0/src/tests.c
it seems easier indeed to just use sigaction without SA_RESTART.
Paolo