[exim-cvs] Remove interproc from continued-transport sequenc…

Góra strony
Delete this message
Reply to this message
Autor: Exim Git Commits Mailing List
Data:  
Dla: exim-cvs
Temat: [exim-cvs] Remove interproc from continued-transport sequence
Gitweb: https://git.exim.org/exim.git/commitdiff/a31c350a38e20afb0782f0f4acc30c3c1b60c762
Commit:     a31c350a38e20afb0782f0f4acc30c3c1b60c762
Parent:     36bee217cba7c61313cce8e4a4a0c477db421dd0
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Fri Jun 14 15:40:43 2024 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Fri Jun 14 16:46:37 2024 +0100


    Remove interproc from continued-transport sequence
---
 src/src/transport.c | 31 +++++++++----------------------
 1 file changed, 9 insertions(+), 22 deletions(-)


diff --git a/src/src/transport.c b/src/src/transport.c
index b5ed563a5..84397e9cd 100644
--- a/src/src/transport.c
+++ b/src/src/transport.c
@@ -2075,37 +2075,24 @@ continue_limit_rcpt = peer_limit_rcpt;
continue_limit_rcptdom = peer_limit_rcptdom;
#endif

-if ((pid = exim_fork(US"continued-transport-interproc")) == 0)
+if ((pid = exim_fork(US"continued-transport")) == 0)
   {
-  /* Disconnect entirely from the parent process. If we are running in the
-  test harness, wait for a bit to allow the previous process time to finish,
-  write the log, etc., so that the output is always in the same order for
-  automatic comparison. */
-
-  if ((pid = exim_fork(US"continued-transport")) != 0)
-    _exit(EXIT_SUCCESS);
-  testharness_pause_ms(1000);
+  /* If we are running in the test harness, wait for a bit to allow the
+  previous process time to finish, write the log, etc., so that the output is
+  always in the same order for automatic comparison. */


+  testharness_pause_ms(500);
   transport_do_pass_socket(transport_name, hostname, hostaddress,
     id, socket_fd);
+  /*NOTREACHED*/
   }


-/* If the process creation succeeded, wait for the first-level child, which
-immediately exits, leaving the second level process entirely disconnected from
-this one. */
-
 if (pid > 0)
-  {
-  int rc;
-  while ((rc = wait(&status)) != pid && (rc >= 0 || errno != ECHILD));
   return TRUE;
-  }
-else
-  {
-  DEBUG(D_transport) debug_printf("transport_pass_socket failed to fork: %s\n",
+
+DEBUG(D_transport) debug_printf("transport_pass_socket failed to fork: %s\n",
     strerror(errno));
-  return FALSE;
-  }
+return FALSE;
 }




--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-cvs.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-cvs-unsubscribe@???
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/