version 1.11, 2000/03/22 20:25:19 |
version 1.12, 2000/04/16 20:28:54 |
|
|
void fail __P((void)); |
void fail __P((void)); |
void finish __P((int)); |
void finish __P((int)); |
void scriptflush __P((int)); |
void scriptflush __P((int)); |
|
void handlesigwinch __P((int)); |
|
|
|
|
int |
int |
main(argc, argv) |
main(argc, argv) |
int argc; |
int argc; |
|
|
rtt.c_lflag &= ~ECHO; |
rtt.c_lflag &= ~ECHO; |
(void)tcsetattr(STDIN_FILENO, TCSAFLUSH, &rtt); |
(void)tcsetattr(STDIN_FILENO, TCSAFLUSH, &rtt); |
|
|
|
(void)signal(SIGWINCH, handlesigwinch); |
(void)signal(SIGCHLD, finish); |
(void)signal(SIGCHLD, finish); |
child = fork(); |
child = fork(); |
if (child < 0) { |
if (child < 0) { |
|
|
|
|
if (die) |
if (die) |
done(e); |
done(e); |
|
errno = save_errno; |
|
} |
|
|
|
void |
|
handlesigwinch(signo) |
|
int signo; |
|
{ |
|
struct winsize win; |
|
pid_t pgrp; |
|
int save_errno = errno; |
|
|
|
if (ioctl(STDIN_FILENO, TIOCGWINSZ, &win) != -1) { |
|
ioctl(slave, TIOCSWINSZ, &win); |
|
if (ioctl(slave, TIOCGPGRP, &pgrp) != -1) |
|
killpg(pgrp, SIGWINCH); |
|
} |
errno = save_errno; |
errno = save_errno; |
} |
} |
|
|