Build: separate guard for futimens()
authorJeremy Harris <jgh146exb@wizmail.org>
Sat, 27 Jun 2020 11:41:21 +0000 (12:41 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Sat, 27 Jun 2020 11:41:21 +0000 (12:41 +0100)
Darwin does not have the data element we manipulate with futimens()

src/OS/os.h-FreeBSD
src/OS/os.h-Linux
src/OS/os.h-OpenBSD
src/OS/os.h-SunOS5
src/src/exim_lock.c

index 548a82d4bd0111d4ac9d9dd702a22082ea6b4b33..c1720a796d9313363912edf303b611f3c3c80859 100644 (file)
@@ -15,6 +15,7 @@
 #define HAVE_SRANDOMDEV
 #define HAVE_ARC4RANDOM
 #define EXIM_HAVE_OPENAT
+#define EXIM_HAVE_FUTIMENS
 
 /* Applications should not call arc4random_stir() explicitly after
  * FreeBSD r227520 (approximately 1000002).
index ba5f13450251d89f5afff43ec88a0edf3b0a99d9..4a141346d982f3f4b3fa02ebdb7f8b57b80e36f1 100644 (file)
@@ -73,6 +73,7 @@ then change the 0 to 1 in the next block. */
 
 #if _POSIX_C_SOURCE >= 200809L || _ATFILE_SOURCE
 # define EXIM_HAVE_OPENAT
+# define EXIM_HAVE_FUTIMENS
 #endif
 
 /* TCP Fast Open support */
index dc5dc0233e35e2544ab6e69ef4a3108c1110ed75..f599c09e4a4b66bb137bb8ecc9ae5204cd0febbd 100644 (file)
@@ -8,6 +8,7 @@
 #define HAVE_SYS_MOUNT_H
 #define SIOCGIFCONF_GIVES_ADDR
 #define EXIM_HAVE_OPENAT
+#define EXIM_HAVE_FUTIMENS
 #define HAVE_ARC4RANDOM
 /* In May 2014, OpenBSD 5.5 was released which cleaned up the arc4random_* API
    which removed the arc4random_stir() function. Set NOT_HAVE_ARC4RANDOM_STIR
index 6331f3701fc0c6863fd7c8d76687857ee796cb24..f5bc31668b66c78ff9c0b6ac0c54121e47adf8c1 100644 (file)
@@ -9,6 +9,7 @@
 #define HAVE_GETIPNODEBYNAME    1
 #define HAVE_GETIPNODEBYADDR    1
 #define EXIM_HAVE_OPENAT
+#define EXIM_HAVE_FUTIMENS
 
 #define HAVE_KSTAT
 #define LOAD_AVG_KSTAT         "system_misc"
index 068216816054e832085d9cb035daa8ae50f12ba8..2624aff5e2557ac88368bf82f86cd070c774e34c 100644 (file)
@@ -584,7 +584,7 @@ else
 if (restore_times)
   {
   struct stat strestore;
-#ifdef EXIM_HAVE_OPENAT
+#ifdef EXIM_HAVE_FUTIMENS
   int fd = open(filename, O_RDWR); /* use fd for both get & restore */
   struct timespec tt[2];