aboutsummaryrefslogtreecommitdiffstats
path: root/etc.c
diff options
context:
space:
mode:
authorFumitoshi UKAI <ukai@debian.or.jp>2003-01-15 16:11:43 +0000
committerFumitoshi UKAI <ukai@debian.or.jp>2003-01-15 16:11:43 +0000
commitdfd33cccd5e2b4d169eb0f0ca7cccfc998b979b2 (patch)
treee48a0e99a4922bf7a8504fbbf03442c12fee49ff /etc.c
parent[w3m-dev 03639] Re: smb.cgi (diff)
downloadw3m-dfd33cccd5e2b4d169eb0f0ca7cccfc998b979b2.tar.gz
w3m-dfd33cccd5e2b4d169eb0f0ca7cccfc998b979b2.zip
[w3m-dev 03640] Re: cleanup (don't close connection of news server)
* anchor.c (_put_ahchor_news): always conv_str (_put_anchor_all): always conv_str * etc.c (close_all_fds): deleted (close_all_fds_except): added, except fd=f is left open * file.c (guess_filename): added (UFhalfclose): added (convertLine): cleanup_line if not raw mode check uf (readHeader): always convertLine (loadGeneralFile): rewrite (loadGopherDir): return Str, args change to ParsedURL and code rewrite (saveBuffer): always conv_str (_doFileCopy): close_all_fds (doFileSave): close_all_fds_except (uncompress_stream): dup, close_all_fds_except * form.c (form_fputs_decode): always conv_str (input_textarea): convertLine * frame.c (createFrameFile): convertLine * ftp.c (loadFTPDir): arg code rewrite (readFTPDir): convertLine * html.h (UFfileno): added * image.c (loadImage): close_all_fds * indep.h (RAW_MODE): added * local.c (loadLocalDir): return Str (dirBuffer): rewrite (localcgi_popen_r): close_all_fds * main.c (main): check SCM_LOCAL print err_msg * news.c (news_command): args cmd and arg (news_quit): news_command (openNewsStream): news_command (readNewsgroup): deleted (loadNewsgroup): added (closeNews): added * proto.h (loadGopherDir): update (conv_str): define for no JP_CHARSET (readFTPDir): deleted (loadFTPDir): added (readNewsgroup): deleted (loadNewsgroup): added (dirBuffer): deleted (loadLocalDir): added (close_all_fds): defined by close_all_fds_except (close_all_fds_except): added From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
Diffstat (limited to 'etc.c')
-rw-r--r--etc.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/etc.c b/etc.c
index c412b95..d5ecaeb 100644
--- a/etc.c
+++ b/etc.c
@@ -1,4 +1,4 @@
-/* $Id: etc.c,v 1.47 2003/01/10 16:42:26 ukai Exp $ */
+/* $Id: etc.c,v 1.48 2003/01/15 16:11:43 ukai Exp $ */
#include "fm.h"
#include <pwd.h>
#include "myctype.h"
@@ -1306,7 +1306,7 @@ reset_signals(void)
#endif
void
-close_all_fds(int i)
+close_all_fds_except(int i, int f)
{
switch (i) { /* fall through */
case 0:
@@ -1317,8 +1317,10 @@ close_all_fds(int i)
dup2(open("/dev/null", O_WRONLY), 2);
}
/* close all other file descriptors (socket, ...) */
- for (i = 3; i < FOPEN_MAX; i++)
- close(i);
+ for (i = 3; i < FOPEN_MAX; i++) {
+ if (i != f)
+ close(i);
+ }
}
#ifdef HAVE_SETPGRP