about summary refs log tree commit diff
diff options
context:
space:
mode:
authorIvan Markov <ivan.markov@gmail.com>2022-08-03 19:07:25 +0000
committerIvan Markov <ivan.markov@gmail.com>2022-08-03 19:30:23 +0000
commite86c128aa3f76e46131d52da1c7ee00921e72094 (patch)
tree9c72448c02e2e36889fcfefb114495c509a1e4d7
parent04f72f95384d97f4c4e7a59e60cb85ec581ebe06 (diff)
downloadrust-e86c128aa3f76e46131d52da1c7ee00921e72094.tar.gz
rust-e86c128aa3f76e46131d52da1c7ee00921e72094.zip
FilesTimes support does not build for ESP-IDF
-rw-r--r--library/std/src/sys/unix/fs.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/library/std/src/sys/unix/fs.rs b/library/std/src/sys/unix/fs.rs
index 41405cbf657..b5cc8038ca4 100644
--- a/library/std/src/sys/unix/fs.rs
+++ b/library/std/src/sys/unix/fs.rs
@@ -544,9 +544,11 @@ impl Default for FileTimes {
     fn default() -> Self {
         // Redox doesn't appear to support `UTIME_OMIT`, so we stub it out here, and always return
         // an error in `set_times`.
-        #[cfg(target_os = "redox")]
+        // ESP-IDF does not support `futimens` at all and the behavior for that OS is therefore
+        // the same as for Redox.
+        #[cfg(any(target_os = "redox", target_os = "espidf"))]
         let omit = libc::timespec { tv_sec: 0, tv_nsec: 0 };
-        #[cfg(not(target_os = "redox"))]
+        #[cfg(not(any(target_os = "redox", target_os = "espidf")))]
         let omit = libc::timespec { tv_sec: 0, tv_nsec: libc::UTIME_OMIT as _ };
         Self([omit; 2])
     }
@@ -1077,8 +1079,10 @@ impl File {
 
     pub fn set_times(&self, times: FileTimes) -> io::Result<()> {
         cfg_if::cfg_if! {
-            if #[cfg(target_os = "redox")] {
+            if #[cfg(any(target_os = "redox", target_os = "espidf"))] {
                 // Redox doesn't appear to support `UTIME_OMIT`.
+                // ESP-IDF does not support `futimens` at all and the behavior for that OS is therefore
+                // the same as for Redox.
                 drop(times);
                 Err(io::const_io_error!(
                     io::ErrorKind::Unsupported,