/* $OpenBSD: c_ksh.c,v 1.34 2013/12/17 16:37:05 deraadt Exp $ */
-/* $OpenBSD: c_sh.c,v 1.44 2013/09/04 15:49:18 millert Exp $ */
+/* $OpenBSD: c_sh.c,v 1.45 2014/08/27 08:26:04 jmc Exp $ */
/* $OpenBSD: c_test.c,v 1.18 2009/03/01 20:11:06 otto Exp $ */
/* $OpenBSD: c_ulimit.c,v 1.19 2013/11/28 10:33:37 sobrado Exp $ */
#endif
#endif
-__RCSID("$MirOS: src/bin/mksh/funcs.c,v 1.256 2014/06/09 13:25:52 tg Exp $");
+__RCSID("$MirOS: src/bin/mksh/funcs.c,v 1.258 2014/09/03 19:55:51 tg Exp $");
#if HAVE_KILLPG
/*
break;
while (n) {
w = write(STDOUT_FILENO, cp, n);
+ eno = errno;
+ /* give the user a chance to ^C out */
+ intrcheck();
if (w == -1) {
- if (errno == EINTR)
+ if (eno == EINTR)
/* interrupted, try again */
continue;
/* an error occured during writing */
- eno = errno;
bi_errorf("%s: %s", "<stdout>",
cstrerror(eno));
rv = 1;