about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-06-29 01:01:51 +0000
committerEric Wong <e@80x24.org>2021-06-29 08:00:14 +0000
commit9b16a1dca2a4c98c26865ee0fd37083271170f7b (patch)
tree604a334cb7dd9f7b1bb94cef4171749ed9557c34
parent25ba3de29904fcd643fd4e136fc3ee4a73877aca (diff)
downloadgit-svn-mmap-retry-v1.tar.gz
Signed-off-by: Eric Wong <e@80x24.org>
-rw-r--r--object-file.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/object-file.c b/object-file.c
index 4c043f1f3c..4139a5ebe6 100644
--- a/object-file.c
+++ b/object-file.c
@@ -1027,8 +1027,14 @@ void *xmmap(void *start, size_t length,
         int prot, int flags, int fd, off_t offset)
 {
         void *ret = xmmap_gently(start, length, prot, flags, fd, offset);
-        if (ret == MAP_FAILED)
+        if (ret == MAP_FAILED) {
+#if defined(__linux__)
+                if (errno == ENOMEM)
+                        die_errno(_(
+"mmap failed, check sys.vm.max_map_count and/or RLIMIT_DATA"));
+#endif /* OS-specific bits */
                 die_errno(_("mmap failed"));
+        }
         return ret;
 }