about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2023-01-03 07:25:24 +0000
committerEric Wong <mwrap-perl@80x24.org>2023-01-03 11:39:03 +0000
commitf7da73e371bcb909a18e654918b5d1e7931e5652 (patch)
treeb473ea5486e5f4ece4354a8bf79279cc528413a6
parent7ff5b8a65aa77946d439deff59ca532eab96f7ee (diff)
downloadmwrap-f7da73e371bcb909a18e654918b5d1e7931e5652.tar.gz
Unlike pwrite(2), it won't dirty the last page, and it's fewer
arguments so argument passing is simpler.
-rw-r--r--mymalloc.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/mymalloc.h b/mymalloc.h
index e781b43..eda669f 100644
--- a/mymalloc.h
+++ b/mymalloc.h
@@ -69,9 +69,9 @@ static void *my_mmap(size_t size)
         if (fd < 0) {
                 flags |= MAP_ANONYMOUS;
         } else {
-                ssize_t w = pwrite(fd, "", 1, size - 1); /* sparse file */
+                int t = ftruncate(fd, size); /* sparse file */
 
-                if (w <= 0) { /* 0 may be ENOSPC */
+                if (t < 0) {
                         flags |= MAP_ANONYMOUS;
                         close(fd);
                         fd = -1;