[Python-checkins] cpython: Fix #18530. Remove extra stat call from posixpath.ismount
brian.curtin
python-checkins at python.org
Mon Jul 22 20:08:37 CEST 2013
http://hg.python.org/cpython/rev/240adc564539
changeset: 84791:240adc564539
parent: 84788:84d6c1c0665e
user: Brian Curtin <brian at python.org>
date: Mon Jul 22 13:07:52 2013 -0500
summary:
Fix #18530. Remove extra stat call from posixpath.ismount
files:
Lib/posixpath.py | 22 ++++++++++++++--------
Misc/NEWS | 3 +++
2 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/Lib/posixpath.py b/Lib/posixpath.py
--- a/Lib/posixpath.py
+++ b/Lib/posixpath.py
@@ -182,18 +182,24 @@
def ismount(path):
"""Test whether a path is a mount point"""
- if islink(path):
- # A symlink can never be a mount point
- return False
try:
s1 = os.lstat(path)
- if isinstance(path, bytes):
- parent = join(path, b'..')
- else:
- parent = join(path, '..')
+ except OSError:
+ # It doesn't exist -- so not a mount point. :-)
+ return False
+ else:
+ if stat.S_ISLNK(s1.st_mode):
+ return False
+
+ if isinstance(path, bytes):
+ parent = join(path, b'..')
+ else:
+ parent = join(path, '..')
+ try:
s2 = os.lstat(parent)
except OSError:
- return False # It doesn't exist -- so not a mount point :-)
+ return False
+
dev1 = s1.st_dev
dev2 = s2.st_dev
if dev1 != dev2:
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -162,6 +162,9 @@
Library
-------
+- Issue #18530: Remove additional stat call from posixpath.ismount.
+ Patch by Alex Gaynor.
+
- Issue #18514: Fix unreachable Py_DECREF() call in PyCData_FromBaseObj()
- Issue #9177: Calling read() or write() now raises ValueError, not
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list