[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 0e69c85: Make searching for files faster under Windows
From: |
Lars Ingebrigtsen |
Subject: |
master 0e69c85: Make searching for files faster under Windows |
Date: |
Thu, 13 May 2021 07:31:37 -0400 (EDT) |
branch: master
commit 0e69c85d7d6d46ab9c0d10051066a365e76a901f
Author: Nicolás Bértolo <nicolasbertolo@gmail.com>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Make searching for files faster under Windows
* src/lread.c (openp): Use faccessat to check that a file exists
before opening it on Windows (bug#41646). This speeds up
searching for files.
---
src/lread.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/src/lread.c b/src/lread.c
index d2e6323..bca53a9 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -1945,7 +1945,17 @@ openp (Lisp_Object path, Lisp_Object str, Lisp_Object
suffixes,
}
else
{
- fd = emacs_open (pfn, O_RDONLY, 0);
+ /* In some systems (like Windows) finding out if a
+ file exists is cheaper to do than actually opening
+ it. Only open the file when we are sure that it
+ exists. */
+#ifdef WINDOWSNT
+ if (faccessat (AT_FDCWD, pfn, R_OK, AT_EACCESS))
+ fd = -1;
+ else
+#endif
+ fd = emacs_open (pfn, O_RDONLY, 0);
+
if (fd < 0)
{
if (! (errno == ENOENT || errno == ENOTDIR))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 0e69c85: Make searching for files faster under Windows,
Lars Ingebrigtsen <=