aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFumitoshi UKAI <ukai@debian.or.jp>2002-01-17 10:29:14 +0000
committerFumitoshi UKAI <ukai@debian.or.jp>2002-01-17 10:29:14 +0000
commit0a3fcb8b74f6fdbdb210b245d282551d33c83a0f (patch)
treef4b294888d6eaa3cc755f5f96dd06f0cee3928e9
parent[w3m-dev 02865] (diff)
downloadw3m-0a3fcb8b74f6fdbdb210b245d282551d33c83a0f.tar.gz
w3m-0a3fcb8b74f6fdbdb210b245d282551d33c83a0f.zip
[w3m-dev 02866]
* search.c: #include <signal.h> * search.c (open_migemo): ignore SIG_INT for migemo process * search.c (open_migemo): close_tty() * search.c (open_migemo): use execl() instead of system() From: Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
-rw-r--r--ChangeLog10
-rw-r--r--search.c7
2 files changed, 14 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index c8c78df..9277804 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2002-01-17 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
+ * [w3m-dev 02866]
+ * search.c: #include <signal.h>
+ * search.c (open_migemo): ignore SIG_INT for migemo process
+ * search.c (open_migemo): close_tty()
+ * search.c (open_migemo): use execl() instead of system()
+
+2002-01-17 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
+
* [w3m-dev 02865]
* search.c (open_migemo): add flush_tty()
@@ -2090,4 +2098,4 @@
* release-0-2-1
* import w3m-0.2.1
-$Id: ChangeLog,v 1.237 2002/01/17 09:26:33 ukai Exp $
+$Id: ChangeLog,v 1.238 2002/01/17 10:29:14 ukai Exp $
diff --git a/search.c b/search.c
index d5a7cac..1404828 100644
--- a/search.c
+++ b/search.c
@@ -1,6 +1,7 @@
-/* $Id: search.c,v 1.13 2002/01/17 09:26:33 ukai Exp $ */
+/* $Id: search.c,v 1.14 2002/01/17 10:29:14 ukai Exp $ */
#include "fm.h"
#include "regex.h"
+#include <signal.h>
#include <errno.h>
static void
@@ -42,12 +43,14 @@ open_migemo(char *migemo_command)
goto err2;
if (pid == 0) {
/* child */
+ signal(SIGINT, SIG_IGN);
+ close_tty();
close(fdr[0]);
close(fdw[1]);
dup2(fdw[0], 0);
dup2(fdr[1], 1);
close(2);
- system(migemo_command);
+ execl("/bin/sh", "sh", "-c", migemo_command, NULL);
exit(1);
}
close(fdr[1]);