[w3m-dev 03622] Re: Error occured while reset

* file.c (uncompress_stream): child process initialized
* terms.c (close_tty): close unless stdin,out,err
	(reset_tty): flush_tty, close_tty
	(write1): flush_tty
	(refresh): flush_tty
	(flush_tty): check ttyf
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
This commit is contained in:
Fumitoshi UKAI
2003-01-10 16:16:44 +00:00
parent 83493cfb21
commit 329cc01d50
3 changed files with 28 additions and 20 deletions
+11 -1
View File
@@ -1,3 +1,13 @@
2003-01-11 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 03622] Re: Error occured while reset
* file.c (uncompress_stream): child process initialized
* terms.c (close_tty): close unless stdin,out,err
(reset_tty): flush_tty, close_tty
(write1): flush_tty
(refresh): flush_tty
(flush_tty): check ttyf
2003-01-11 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 03620] -m option and header
@@ -6258,4 +6268,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1
* import w3m-0.2.1
$Id: ChangeLog,v 1.662 2003/01/10 16:08:19 ukai Exp $
$Id: ChangeLog,v 1.663 2003/01/10 16:16:44 ukai Exp $
+5 -5
View File
@@ -1,4 +1,4 @@
/* $Id: file.c,v 1.179 2003/01/10 16:08:21 ukai Exp $ */
/* $Id: file.c,v 1.180 2003/01/10 16:16:45 ukai Exp $ */
#include "fm.h"
#include <sys/types.h>
#include "myctype.h"
@@ -7808,6 +7808,10 @@ uncompress_stream(URLFile *uf, char **src)
/* fd1[0]: read, fd1[1]: write */
if ((pid1 = fork()) == 0) {
reset_signals();
signal(SIGINT, SIG_IGN);
close_tty();
QuietMessage = TRUE;
fmInitialized = FALSE;
close(fd1[0]);
if (tmpf) {
#ifdef USE_BINMODE_STREAM
@@ -7825,10 +7829,6 @@ uncompress_stream(URLFile *uf, char **src)
/* child */
int pid2;
int fd2[2];
if (fmInitialized) {
close_tty();
fmInitialized = FALSE;
}
if (pipe(fd2) < 0) {
close(fd1[1]);
UFclose(uf);
+10 -12
View File
@@ -1,4 +1,4 @@
/* $Id: terms.c,v 1.42 2002/12/18 16:42:32 ukai Exp $ */
/* $Id: terms.c,v 1.43 2003/01/10 16:16:45 ukai Exp $ */
/*
* An original curses library for EUC-kanji by Akinori ITO, December 1989
* revised by Akinori ITO, January 1995
@@ -362,12 +362,9 @@ typedef struct scline {
short eol;
} Screen;
static
TerminalMode d_ioval;
static
int tty;
static
FILE *ttyf;
static TerminalMode d_ioval;
static int tty = -1;
static FILE *ttyf = NULL;
static
char bp[1024], funcstr[256];
@@ -556,6 +553,7 @@ set_cc(int spec, int val)
void
close_tty(void)
{
if (tty > 2)
close(tty);
}
@@ -582,10 +580,9 @@ reset_tty(void)
writestr(T_cl);
}
writestr(T_se); /* reset terminal */
fflush(ttyf);
flush_tty();
TerminalSet(tty, &d_ioval);
if (tty != 2)
close(tty);
close_tty();
}
MySignalHandler
@@ -871,7 +868,7 @@ write1(char c)
putc(c, ttyf);
#endif /* not JP_CHARSET */
#ifdef SCREEN_DEBUG
fflush(ttyf);
flush_tty();
#endif /* SCREEN_DEBUG */
return 0;
}
@@ -1427,7 +1424,7 @@ refresh(void)
#endif /* JP_CHARSET */
}
MOVE(CurLine, CurColumn);
fflush(ttyf);
flush_tty();
}
void
@@ -2170,6 +2167,7 @@ mouse_inactive()
void
flush_tty()
{
if (ttyf)
fflush(ttyf);
}