Commits

Evan Gates  committed d6826af

add SIGCONT handler so we have the right settings

  • Participants
  • Parent commits 2baf66a

Comments (0)

Files changed (1)

 int mfd;
 pid_t child;
 
+struct termios set;
+
 void usage(void)
 {
 	printf("Usage: srw [-p prompt] cmd [args]...\n");
 	exit(1);
 }
 
+void sigcont(int unused)
+{
+	tcsetattr(0, TCSANOW, &set);
+}
+
 void sigchld(int unused)
 {
 	pid_t pid;
 
 int main(int argc, char **argv)
 {
-	struct termios set;
 	int i;
 
 	for (i = 1; i < argc; i++) {
 	if (signal(SIGCHLD, sigchld) == SIG_ERR)
 		err(1, "failed to install SIGCHLD handler");
 
+	if (signal(SIGCONT, sigcont) == SIG_ERR)
+		err(1, "failed to install SIGCONT handler");
+
 	if ((child = forkpty(&mfd, NULL, &set, NULL)) == 0) { //child
 		execvp(argv[i], &argv[i]);
 		err(1, "failed execvp %s", argv[i]);