comparison shasum.py @ 59:b96d3585e8ce

Use more optimizes files flags if available: O_SEQUENTIAL and O_NOCTTY
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 08 Feb 2022 21:27:13 +0100
parents ae5b31c10b41
children 21d2589c96b9
comparison
equal deleted inserted replaced
58:ae5b31c10b41 59:b96d3585e8ce
459 :return: the digest in binary form 459 :return: the digest in binary form
460 :rtype: bytes 460 :rtype: bytes
461 461
462 """ 462 """
463 h = hashobj() 463 h = hashobj()
464 flags = os.O_RDONLY 464 flags = os.O_RDONLY | getattr(os, "O_BINARY", 0) \
465 try: 465 | getattr(os, "O_SEQUENTIAL", 0) | getattr(os, "O_NOCTTY", 0)
466 flags |= os.O_BINARY
467 except AttributeError:
468 pass
469 fd = os.open(filename, flags) 466 fd = os.open(filename, flags)
470 try: 467 try:
471 st = os.fstat(fd) 468 st = os.fstat(fd)
472 filesize = st[stat.ST_SIZE] 469 filesize = st[stat.ST_SIZE]
473 if mmap is None: 470 if mmap is None: