forked from OSchip/llvm-project
Build fix for Android NDK which has neither futimes nor futimens
Based on a patch by Neil Henning! llvm-svn: 197045
This commit is contained in:
parent
50e39e0fef
commit
b30f01ee42
|
@ -545,6 +545,11 @@ inline error_code file_size(const Twine &Path, uint64_t &Result) {
|
|||
return error_code::success();
|
||||
}
|
||||
|
||||
/// @brief Set the file modification and access time.
|
||||
///
|
||||
/// @returns errc::success if the file times were successfully set, otherwise a
|
||||
/// platform specific error_code or errc::not_supported on platforms
|
||||
/// where the functionality isn't available.
|
||||
error_code setLastModificationAndAccessTime(int FD, TimeValue Time);
|
||||
|
||||
/// @brief Is status available?
|
||||
|
|
|
@ -531,17 +531,20 @@ error_code setLastModificationAndAccessTime(int FD, TimeValue Time) {
|
|||
Times[0].tv_nsec = 0;
|
||||
Times[1] = Times[0];
|
||||
if (::futimens(FD, Times))
|
||||
return error_code(errno, system_category());
|
||||
return error_code::success();
|
||||
#elif defined(HAVE_FUTIMES)
|
||||
timeval Times[2];
|
||||
Times[0].tv_sec = Time.toPosixTime();
|
||||
Times[0].tv_usec = 0;
|
||||
Times[1] = Times[0];
|
||||
if (::futimes(FD, Times))
|
||||
#else
|
||||
#error Missing futimes() and futimens()
|
||||
#endif
|
||||
return error_code(errno, system_category());
|
||||
return error_code::success();
|
||||
#else
|
||||
#warning Missing futimes() and futimens()
|
||||
return make_error_code(errc::not_supported);
|
||||
#endif
|
||||
}
|
||||
|
||||
error_code mapped_file_region::init(int FD, bool CloseFD, uint64_t Offset) {
|
||||
|
|
Loading…
Reference in New Issue