aboutsummaryrefslogtreecommitdiffstats
path: root/image.c
diff options
context:
space:
mode:
authorFumitoshi UKAI <ukai@debian.or.jp>2002-11-24 16:02:22 +0000
committerFumitoshi UKAI <ukai@debian.or.jp>2002-11-24 16:02:22 +0000
commit5a539bf5e762a56fe8fae347f7fcee531fbbb399 (patch)
tree9d9157716e943261c150b6e60c08b19219d3548d /image.c
parent[w3m-dev 03466] Re: background download when external viewer (diff)
downloadw3m-5a539bf5e762a56fe8fae347f7fcee531fbbb399.tar.gz
w3m-5a539bf5e762a56fe8fae347f7fcee531fbbb399.zip
[w3m-dev 03471] Re: SETPGRP()
* configure: SETPGRP() always defined * proto.h (close_all_fds): added (myExec): #ifdef HAVE_SETPGRP * etc.c (close_all_fds): added (myExec): #ifdef HAVE_SETPGRP (mySystem): #ifndef -> #ifdef * file.c (_doFileCopy): delete #ifdef HAVE_SETPGRP (doFileSave): ditto * image.c (openImgdisplay): delete #ifdef HAVE_SETPGRP use close_all_fds() * search.c (open_migemo): ditto From: Fumitoshi UKAI <ukai@debian.or.jp>
Diffstat (limited to 'image.c')
-rw-r--r--image.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/image.c b/image.c
index 2c785ba..e2aaeaa 100644
--- a/image.c
+++ b/image.c
@@ -1,4 +1,4 @@
-/* $Id: image.c,v 1.19 2002/11/15 15:57:16 ukai Exp $ */
+/* $Id: image.c,v 1.20 2002/11/24 16:02:22 ukai Exp $ */
#include "fm.h"
#include <sys/types.h>
@@ -107,30 +107,22 @@ openImgdisplay()
goto err2;
if (Imgdisplay_pid == 0) {
/* child */
- int i;
reset_signals();
signal(SIGINT, SIG_IGN);
set_environ("W3M_TTY", ttyname_tty());
-#ifdef HAVE_SETPGRP
SETPGRP();
-#endif
close_tty();
close(fdr[0]);
close(fdw[1]);
dup2(fdw[0], 0);
dup2(fdr[1], 1);
- dup2(open("/dev/null", O_WRONLY), 2);
-#ifndef FOPEN_MAX
-#define FOPEN_MAX 1024 /* XXX */
-#endif
- /* close all other file descriptors (socket, ...) */
- for (i = 3; i < FOPEN_MAX; i++)
- close(i);
+ close_all_fds(2);
if (!strchr(Imgdisplay, '/'))
cmd = Strnew_m_charp(w3m_auxbin_dir(), "/", Imgdisplay, NULL)->ptr;
else
cmd = Imgdisplay;
execl("/bin/sh", "sh", "-c", cmd, NULL);
+ /* XXX: ifndef HAVE_SETPGRP, use start /f ? */
exit(1);
}
close(fdr[1]);