chiark / gitweb /
prefork-interp: New protocol: C: Do not env-pass saves
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 15 Aug 2022 16:22:15 +0000 (17:22 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 21 Aug 2022 20:21:10 +0000 (21:21 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
cprogs/prefork-interp.c

index b15d61ae328e247ece3a93047aef7ac377786790..11f53d0d1c9eb23c97b7bfea502e90189dac2c91 100644 (file)
@@ -332,15 +332,12 @@ void become_setup(int sfd, int fake_pair[2]) {
   close(fake_pair[0]);
   int call_fd = fake_pair[1];
 
-  int fd0_save = dup(0);  if (fd0_save < 0) diee("dup stdin");
-  int fd1_save = dup(1);  if (fd1_save < 0) diee("dup stdin");
-
   int null_0 = open("/dev/null", O_RDONLY);  if (null_0 < 0) diee("open null");
   if (dup2(null_0, 0)) diee("dup2 /dev/null onto stdin");
   if (dup2(2, 1) != 1) die("dup2 stderr onto stdout");
 
-  putenv(m_asprintf("PREFORK_INTERP=%d,%d,%d,%d,%s",
-                   sfd, call_fd, fd0_save, fd1_save, socket_path));
+  putenv(m_asprintf("PREFORK_INTERP=%d,%d,%s",
+                   sfd, call_fd, socket_path));
 
   execvp(executor_argv[0], (char**)executor_argv);
   diee("execute %s", executor_argv[0]);