|author||Damien Miller <firstname.lastname@example.org>||2020-05-14 12:22:09 +1000|
|committer||Damien Miller <email@example.com>||2020-05-14 12:24:24 +1000|
prefer ln to cp for temporary copy of sshd
I saw failures on the reexec fallback test on Darwin 19.4 where fork()ed children of a process that had it's executable removed would instantly fail. Using ln to preserve the inode avoids this.
1 files changed, 4 insertions, 1 deletions
diff --git a/regress/reexec.sh b/regress/reexec.sh
index 2192456c..8966ba52 100644
@@ -9,7 +9,10 @@ SSHD_COPY=$OBJ/sshd
# Start a sshd and then delete it
- cp $SSHD_ORIG $SSHD_COPY
+ # NB. prefer ln to cp here. On some OSX 19.4 configurations,
+ # djm has seen failure after fork() when the executable image
+ # has been removed from the filesystem.
+ ln $SSHD_ORIG $SSHD_COPY || cp $SSHD_ORIG $SSHD_COPY