]> Pileus Git - ~andy/fetchmail/blobdiff - driver.c
Remove toprocmail, which does not check for errors properly.
[~andy/fetchmail] / driver.c
index f2cc13c639f733a2afb78fea188a653df0aac934..08bb9775def4280df9dd7ea7528e4dbcdacabc78 100644 (file)
--- a/driver.c
+++ b/driver.c
@@ -109,8 +109,14 @@ static void timeout_handler (int signal)
 static int cleanupSockClose (int fd)
 /* close sockets in maximum CLEANUP_TIMEOUT seconds during cleanup */
 {
-    (void)SockTimeout(fd, CLEANUP_TIMEOUT); /* ignore errors */
-    return SockClose(fd);
+    int scerror;
+    SIGHANDLERTYPE alrmsave;
+    alrmsave = set_signal_handler(SIGALRM, null_signal_handler);
+    set_timeout(CLEANUP_TIMEOUT);
+    scerror = SockClose(fd);
+    set_timeout(0);
+    set_signal_handler(SIGALRM, alrmsave);
+    return (scerror);
 }
 
 #ifdef KERBEROS_V5