]> git.sesse.net Git - plocate/blobdiff - io_uring_engine.cpp
Release plocate 1.1.7.
[plocate] / io_uring_engine.cpp
index 70497a44cb122acf501d52c7062db124e6551e9d..ab9f411c7774ad7905bfbde901459540ee3c4a23 100644 (file)
@@ -7,6 +7,7 @@
 #ifndef WITHOUT_URING
 #include <liburing.h>
 #endif
+#include "complete_pread.h"
 #include "dprintf.h"
 #include "io_uring_engine.h"
 
@@ -247,20 +248,3 @@ void IOUringEngine::finish()
        }
 #endif
 }
-
-void complete_pread(int fd, void *ptr, size_t len, off_t offset)
-{
-       while (len > 0) {
-               ssize_t ret = pread(fd, ptr, len, offset);
-               if (ret == -1 && errno == EINTR) {
-                       continue;
-               }
-               if (ret <= 0) {
-                       perror("pread");
-                       exit(1);
-               }
-               ptr = reinterpret_cast<char *>(ptr) + ret;
-               len -= ret;
-               offset -= ret;
-       }
-}