diff -ru cddb.orig/lib/cddb_net.c cddb/lib/cddb_net.c
@@ -228,46 +228,9 @@
/* Time-out enabled work-alikes */
-#ifdef HAVE_ALARM
-/* time-out jump buffer */
-static jmp_buf timeout_expired;
-
-/* time-out signal handler */
-static void alarm_handler(int signum)
-{
- longjmp(timeout_expired, 1);
-}
-#endif
-
struct hostent *timeout_gethostbyname(const char *hostname, int timeout)
{
-#ifdef HAVE_ALARM
- struct hostent *he = NULL;
- struct sigaction action;
- struct sigaction old;
-
- /* no signal before setjmp */
- alarm(0);
-
- /* register signal handler */
- memset(&action, 0, sizeof(action));
- action.sa_handler = alarm_handler;
- sigaction(SIGALRM, &action, &old);
-
- /* save stack state */
- if (!setjmp(timeout_expired)) {
- alarm(timeout); /* set time-out alarm */
- he = gethostbyname(hostname); /* execute DNS query */
- alarm(0); /* reset alarm timer */
- } else {
- errno = ETIMEDOUT;
- }
- sigaction(SIGALRM, &old, NULL); /* restore previous signal handler */
-
- return he;
-#else
return gethostbyname(hostname); /* execute DNS query directly */
-#endif
}
int timeout_connect(int sockfd, const struct sockaddr *addr,