Differential D38165 Diff 118368 www/qt5-webengine/files/patch-src_3rdparty_chromium_base_files_file__util__posix.cc
Changeset View
Changeset View
Standalone View
Standalone View
www/qt5-webengine/files/patch-src_3rdparty_chromium_base_files_file__util__posix.cc
--- src/3rdparty/chromium/base/files/file_util_posix.cc.orig 2019-05-23 12:39:34 UTC | --- src/3rdparty/chromium/base/files/file_util_posix.cc.orig 2021-12-15 16:12:54 UTC | ||||
+++ src/3rdparty/chromium/base/files/file_util_posix.cc | +++ src/3rdparty/chromium/base/files/file_util_posix.cc | ||||
@@ -407,7 +407,7 @@ bool CopyDirectoryExcl(const FilePath& from_path, | @@ -412,7 +412,7 @@ bool CreateLocalNonBlockingPipe(int fds[2]) { | ||||
#endif // !defined(OS_NACL_NONSFI) | } | ||||
bool CreateLocalNonBlockingPipe(int fds[2]) { | bool CreateLocalNonBlockingPipe(int fds[2]) { | ||||
-#if defined(OS_LINUX) | -#if defined(OS_LINUX) || defined(OS_CHROMEOS) | ||||
+#if defined(OS_LINUX) || defined(OS_BSD) | +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) | ||||
return pipe2(fds, O_CLOEXEC | O_NONBLOCK) == 0; | return pipe2(fds, O_CLOEXEC | O_NONBLOCK) == 0; | ||||
#else | #else | ||||
int raw_fds[2]; | int raw_fds[2]; | ||||
@@ -947,8 +947,12 @@ bool AllocateFileRegion(File* file, int64_t offset, si | |||||
// space. It can fail because the filesystem doesn't support it. In that case, | |||||
// use the manual method below. | |||||
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) | |||||
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) | |||||
+#if defined(OS_BSD) | |||||
+ if (HANDLE_EINTR(posix_fallocate(file->GetPlatformFile(), offset, size)) != -1) | |||||
+#else | |||||
if (HANDLE_EINTR(fallocate(file->GetPlatformFile(), 0, offset, size)) != -1) | |||||
+#endif | |||||
return true; | |||||
DPLOG(ERROR) << "fallocate"; | |||||
#elif defined(OS_APPLE) | |||||
@@ -1172,7 +1176,7 @@ PrefetchResult PreReadFile(const FilePath& file_path, | |||||
// posix_fadvise() is only available in the Android NDK in API 21+. Older | |||||
// versions may have the required kernel support, but don't have enough usage | |||||
// to justify backporting. | |||||
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || \ | |||||
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ | |||||
(defined(OS_ANDROID) && __ANDROID_API__ >= 21) | |||||
File file(file_path, File::FLAG_OPEN | File::FLAG_READ); | |||||
if (!file.IsValid()) | |||||
@@ -1208,7 +1212,7 @@ PrefetchResult PreReadFile(const FilePath& file_path, | |||||
return internal::PreReadFileSlow(file_path, max_bytes) | |||||
? PrefetchResult{PrefetchResultCode::kSlowSuccess} | |||||
: PrefetchResult{PrefetchResultCode::kSlowFailed}; | |||||
-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || (defined(OS_ANDROID) && | |||||
+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || (defined(OS_ANDROID) && | |||||
// __ANDROID_API__ >= 21) | |||||
} | |||||
@@ -1243,7 +1247,7 @@ bool MoveUnsafe(const FilePath& from_path, const FileP | |||||
#endif // !defined(OS_NACL_NONSFI) | |||||
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) | |||||
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) | |||||
BASE_EXPORT bool IsPathExecutable(const FilePath& path) { | |||||
bool result = false; | |||||
FilePath tmp_file_path; | |||||
@@ -1264,6 +1268,6 @@ BASE_EXPORT bool IsPathExecutable(const FilePath& path | |||||
} | |||||
return result; | |||||
} | |||||
-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) | |||||
+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) | |||||
} // namespace base |