int bRedirected = 0;
char unamebuf[128];
#else
+ struct sigaction sa;
fd_set mask;
fd_set savemask;
int retry = 0;
FD_ZERO(&mask);
FD_SET(0, &savemask);
FD_SET(sock, &savemask);
-#endif
- (void)signal(SIGINT, intr);
-#ifndef _WIN32
- (void)signal(SIGPIPE, SIG_IGN);
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = 0;
+ sa.sa_handler = intr;
+ sigaction(SIGINT, &sa, NULL);
+ sa.sa_handler = SIG_IGN;
+ sigaction(SIG_IGN, &sa, NULL);
while (FD_ISSET(sock, &savemask)) {
mask = savemask;
n = select(sock + 1, &mask, NULL, NULL, NULL);
}
}
}
-#else
+#else /* _WIN32 */
+ signal(SIGINT, intr);
+
bRedirected = 0;
tm.tv_sec = 0;
tm.tv_usec = 1000;
}
if (bRedirected == 0)
CloseHandle(hStdIn);
-#endif
+#endif /* _WIN32 */
ioq_drain(&server);
(void)close(sock);
return 0; /* Shut the compiler up */
#ifdef _WIN32
signal(SIGINT, intr);
#endif
-#ifdef hpux
- signal(SIGINT, intr);
-#endif
}
static int