summaryrefslogtreecommitdiff
blob: b22dfa0f4f6fafd124f04f28c6ffa9877ba42e03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--- cl/cl_screen.c.orig	2001-06-25 10:19:06.000000000 -0500
+++ cl/cl_screen.c	2003-07-02 18:28:29.000000000 -0500
@@ -369,6 +369,8 @@
 
 fast:	/* Set the terminal modes. */
 	if (tcsetattr(STDIN_FILENO, TCSASOFT | TCSADRAIN, &clp->vi_enter)) {
+		if (EINTR == errno)
+			goto fast;
 		msgq(sp, M_SYSERR, "tcsetattr");
 err:		(void)cl_vi_end(sp->gp);
 		return (1);
@@ -485,6 +487,8 @@
 #endif
 
 fast:	if (tcsetattr(STDIN_FILENO, TCSADRAIN | TCSASOFT, &clp->ex_enter)) {
+		if (EINTR == errno)
+			goto fast;
 		msgq(sp, M_SYSERR, "tcsetattr");
 		return (1);
 	}