about summary refs log tree commit diff stats
path: root/WWW/Library/Implementation/HTTCP.c
diff options
context:
space:
mode:
Diffstat (limited to 'WWW/Library/Implementation/HTTCP.c')
-rw-r--r--WWW/Library/Implementation/HTTCP.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/WWW/Library/Implementation/HTTCP.c b/WWW/Library/Implementation/HTTCP.c
index 42821b4e..8733e997 100644
--- a/WWW/Library/Implementation/HTTCP.c
+++ b/WWW/Library/Implementation/HTTCP.c
@@ -20,6 +20,7 @@
 #include <HTParse.h>
 #include <HTAlert.h>
 #include <HTTCP.h>
+#include <LYGlobalDefs.h>	/* added for no_suspend */
 #include <LYUtils.h>
 
 #ifdef NSL_FORK
@@ -480,6 +481,34 @@ PUBLIC int HTParseInet ARGS2(
 		(void) signal(SIGTERM, quench);
 
 		/*
+		**  Also make sure the child does not run one of the
+		**  signal handlers that may have been installed by
+		**  Lynx if one of those signals occurs.  For example
+		**  we don't want the child to remove temp files on
+		**  ^C, let the parent deal with that. - kw
+		*/
+		(void) signal(SIGINT, quench);
+#ifndef NOSIGHUP
+		(void) signal(SIGHUP, quench);
+#endif /* NOSIGHUP */
+#ifdef SIGTSTP
+		if (no_suspend)
+		    (void) signal(SIGTSTP, SIG_IGN);
+		else
+		    (void) signal(SIGTSTP, SIG_DFL);
+#endif /* SIGTSTP */
+#ifdef SIGWINCH
+		(void) signal(SIGWINCH, SIG_IGN);
+#endif /* SIGWINCH */
+#ifndef __linux__
+#ifndef DOSPATH
+		signal(SIGBUS, SIG_DFL);
+#endif /* DOSPATH */
+#endif /* !__linux__ */
+		signal(SIGSEGV, SIG_DFL);
+		signal(SIGILL, SIG_DFL);
+
+		/*
 		**  Child won't use read side.  -BL
 		*/
 		close(pfd[0]);
e04e893'>^
1076f2b



9e8b325 ^
1076f2b
650a1fb ^
1076f2b
8b59083 ^
1076f2b

650a1fb ^
dbf7e03 ^

650a1fb ^




dbf7e03 ^















1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55