diff options
Diffstat (limited to 'plugins/CopyEngine/Ultracopier/ReadThread.cpp')
-rw-r--r-- | plugins/CopyEngine/Ultracopier/ReadThread.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/plugins/CopyEngine/Ultracopier/ReadThread.cpp b/plugins/CopyEngine/Ultracopier/ReadThread.cpp index e843d9b..7bdb60c 100644 --- a/plugins/CopyEngine/Ultracopier/ReadThread.cpp +++ b/plugins/CopyEngine/Ultracopier/ReadThread.cpp @@ -1,5 +1,9 @@ #include "ReadThread.h" +#ifdef Q_OS_LINUX +#include <fcntl.h> +#endif + ReadThread::ReadThread() { start(); @@ -286,6 +290,14 @@ bool ReadThread::internalOpen(bool resetLastGoodPosition) return false; } pauseMutex.tryAcquire(pauseMutex.available()); + #ifdef Q_OS_LINUX + const int intfd=file.handle(); + if(intfd!=-1) + { + posix_fadvise(intfd, 0, 0, POSIX_FADV_WILLNEED); + posix_fadvise(intfd, 0, 0, POSIX_FADV_SEQUENTIAL); + } + #endif if(stopIt) { file.close(); |