Mercurial > hgrepos > Python > apps > py-cutils
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: |
