diff -r 759f27056d93 Lib/posixpath.py --- a/Lib/posixpath.py Sat Jul 20 19:36:15 2013 +0200 +++ b/Lib/posixpath.py Mon Jul 22 09:41:20 2013 -0700 @@ -10,6 +10,7 @@ for manipulation of the pathname component of URLs. """ +import errno import os import sys import stat @@ -182,18 +183,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: