瀏覽代碼

rtl_tcp: ignore SIGPIPE

Signed-off-by: Steve Markgraf <steve@steve-m.de>
Steve Markgraf 13 年之前
父節點
當前提交
3838df8669
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      src/rtl_tcp.c

+ 3 - 1
src/rtl_tcp.c

@@ -324,7 +324,7 @@ int main(int argc, char **argv)
 	WSADATA wsd;
 	i = WSAStartup(MAKEWORD(2,2), &wsd);
 #else
-	struct sigaction sigact;
+	struct sigaction sigact, sigign;
 #endif
 
 	while ((opt = getopt(argc, argv, "a:p:f:g:s:b:d:")) != -1) {
@@ -378,9 +378,11 @@ int main(int argc, char **argv)
 	sigact.sa_handler = sighandler;
 	sigemptyset(&sigact.sa_mask);
 	sigact.sa_flags = 0;
+	sigign.sa_handler = SIG_IGN;
 	sigaction(SIGINT, &sigact, NULL);
 	sigaction(SIGTERM, &sigact, NULL);
 	sigaction(SIGQUIT, &sigact, NULL);
+	sigaction(SIGPIPE, &sigign, NULL);
 #else
 	SetConsoleCtrlHandler( (PHANDLER_ROUTINE) sighandler, TRUE );
 #endif