--- src/terminal-screen.c.orig	2016-08-09 12:37:41.000000000 -0700
+++ src/terminal-screen.c	2016-08-19 22:31:43.000000000 -0700
@@ -1311,7 +1311,12 @@
       for (j = 0; j < n_fds; j++) {
         if (fds[j] == target_fd) {
           do {
+#ifdef F_DUPFD_CLOEXEC
             fd = fcntl (fds[j], F_DUPFD_CLOEXEC, 3);
+#else
+            fd = fcntl (fds[j], F_DUPFD, 3);
+            fcntl(fd, F_SETFD, FD_CLOEXEC);
+#endif
           } while (fd == -1 && errno == EINTR);
           if (fd == -1)
             _exit (127);