summaryrefslogtreecommitdiff
path: root/doio.c
diff options
context:
space:
mode:
authorJames Clarke <jrtc27@jrtc27.com>2018-11-19 14:25:56 +0000
committerTony Cook <tony@develop-help.com>2018-11-20 10:10:41 +1100
commita3c63a9402266c2f0e3bb0f421763d96ea1bd856 (patch)
tree204b095fe54b8e25ff5487d249ee058038fe0c71 /doio.c
parente1895adcbd5ea43def0c89e1b0bff0628af49687 (diff)
downloadperl-a3c63a9402266c2f0e3bb0f421763d96ea1bd856.tar.gz
Also work around renameat() kernel bug on GNU/kFreeBSD
Diffstat (limited to 'doio.c')
-rw-r--r--doio.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/doio.c b/doio.c
index cc15bf9f41..8d9131cc85 100644
--- a/doio.c
+++ b/doio.c
@@ -1461,7 +1461,7 @@ Perl_nextargv(pTHX_ GV *gv, bool nomagicopen)
}
#ifdef ARGV_USE_ATFUNCTIONS
-# if defined(__FreeBSD__)
+# if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
/* FreeBSD 11 renameat() mis-behaves strangely with absolute paths in cases where the
* equivalent rename() succeeds
@@ -1481,7 +1481,7 @@ S_my_renameat(int olddfd, const char *oldpath, int newdfd, const char *newpath)
# else
# define S_my_renameat(dh1, pv1, dh2, pv2) renameat((dh1), (pv1), (dh2), (pv2))
-# endif /* if defined(__FreeBSD__) */
+# endif /* if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) */
#endif
static bool