cscope/cscope-15.7-sig_pipe.patch

25 lines
960 B
Diff
Raw Normal View History

2010-09-30 14:41:45 +00:00
diff -up cscope-15.7a/src/main.c.orig cscope-15.7a/src/main.c
--- cscope-15.7a/src/main.c.orig 2009-04-10 10:36:38.000000000 -0400
+++ cscope-15.7a/src/main.c 2010-09-30 10:33:19.909355954 -0400
@@ -379,6 +379,12 @@ cscope: Could not create private temp di
/* ditto the TERM signal */
signal(SIGTERM, myexit);
+ /* ignore PIPE signal, so myexit() will have a chance to clean up in
+ * linemode, while in curses mode the "|" command can cause a pipe signal
+ * too
+ */
+ signal(SIGPIPE, SIG_IGN);
+
/* if the database path is relative and it can't be created */
if (reffile[0] != '/' && access(".", WRITE) != 0) {
@@ -400,7 +406,6 @@ cscope: Could not create private temp di
if (linemode == NO) {
signal(SIGINT, SIG_IGN); /* ignore interrupts */
- signal(SIGPIPE, SIG_IGN);/* | command can cause pipe signal */
#if defined(KEY_RESIZE) && !defined(__DJGPP__)
winch_action.sa_sigaction = sigwinch_handler;