Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(4)

Delta Between Two Patch Sets: Doc/library/os.rst

Issue 26826: Expose new copy_file_range() syscal in os module and use it to improve shutils.copy()
Left Patch Set: Created 3 years, 8 months ago
Right Patch Set: Created 3 years, 7 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « configure.ac ('k') | Lib/test/test_os.py » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 :mod:`os` --- Miscellaneous operating system interfaces 1 :mod:`os` --- Miscellaneous operating system interfaces
2 ======================================================= 2 =======================================================
3 3
4 .. module:: os 4 .. module:: os
5 :synopsis: Miscellaneous operating system interfaces. 5 :synopsis: Miscellaneous operating system interfaces.
6 6
7 7
8 This module provides a portable way of using operating system dependent 8 This module provides a portable way of using operating system dependent
9 functionality. If you just want to read or write a file see :func:`open`, if 9 functionality. If you just want to read or write a file see :func:`open`, if
10 you want to manipulate paths, see the :mod:`os.path` module, and if you want to 10 you want to manipulate paths, see the :mod:`os.path` module, and if you want to
(...skipping 662 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 Close all file descriptors from *fd_low* (inclusive) to *fd_high* (exclusive) , 673 Close all file descriptors from *fd_low* (inclusive) to *fd_high* (exclusive) ,
674 ignoring errors. Equivalent to (but much faster than):: 674 ignoring errors. Equivalent to (but much faster than)::
675 675
676 for fd in range(fd_low, fd_high): 676 for fd in range(fd_low, fd_high):
677 try: 677 try:
678 os.close(fd) 678 os.close(fd)
679 except OSError: 679 except OSError:
680 pass 680 pass
681 681
682 682
683 .. function:: copy_file_range(src, dst, count, offset_src=None, offset_dst=None, flags=0) 683 .. function:: copy_file_range(src, dst, count, offset_src=None, offset_dst=None)
684 684
685 Copy *count* bytes from file descriptor *src*, starting from offset 685 Copy *count* bytes from file descriptor *src*, starting from offset
686 *offset_src*, to file descriptor *dst*, starting from offset *offset_dst*. 686 *offset_src*, to file descriptor *dst*, starting from offset *offset_dst*.
687 If *offset_src* is None, then *src* is read from the current position; 687 If *offset_src* is None, then *src* is read from the current position;
688 respectively for *offset_dst*. The files pointed by *src* and *dst* 688 respectively for *offset_dst*. The files pointed by *src* and *dst*
689 must reside in the same filesystem, otherwise a :exc:`OSError` is 689 must reside in the same filesystem, otherwise a :exc:`OSError` is
690 raised with :attr:`~OSError.errno` set to :data:`errno.EXDEV`. 690 raised with :attr:`~OSError.errno` set to :data:`errno.EXDEV`.
691 691
692 This copy is done without using any user space buffers, and some 692 This copy is done without using any user space buffers, and some
693 filesystems could implement optimizations. The copy is done as if 693 filesystems could implement optimizations. The copy is done as if
694 both files are opened as binary. 694 both files are opened as binary.
695 695
696 The *flags* argument is provided for compatibility with the only currently
697 supported implementation (Linux >=4.5) to allow for future extensions, and
698 currently can only be 0.
facundobatista 2016/07/03 22:53:27 You say that the flags can only be 0, but this is
699
700 The return value is the amount of bytes copied. This could be less than the 696 The return value is the amount of bytes copied. This could be less than the
701 amount requested. 697 amount requested.
702 698
703 Availability: some recent flavors of Unix (see the man page 699 Availability: Linux 4.5, released May 2016 (see the man page
facundobatista 2016/07/03 22:53:27 "recent" is too relative; somebody reading this in
704 :manpage:`copy_file_range(2)` for further information). 700 :manpage:`copy_file_range(2)` for further information).
705 701
706 .. versionadded:: 3.6 702 .. versionadded:: 3.6
707 703
708 .. function:: device_encoding(fd) 704 .. function:: device_encoding(fd)
709 705
710 Return a string describing the encoding of the device associated with *fd* 706 Return a string describing the encoding of the device associated with *fd*
711 if it is connected to a terminal; else return :const:`None`. 707 if it is connected to a terminal; else return :const:`None`.
712 708
713 709
(...skipping 3092 matching lines...) Expand 10 before | Expand all | Expand 10 after
3806 3802
3807 .. versionchanged:: 3.5.2 3803 .. versionchanged:: 3.5.2
3808 On Linux, if ``getrandom()`` blocks (the urandom entropy pool is not 3804 On Linux, if ``getrandom()`` blocks (the urandom entropy pool is not
3809 initialized yet), fall back on reading ``/dev/urandom``. 3805 initialized yet), fall back on reading ``/dev/urandom``.
3810 3806
3811 .. versionchanged:: 3.5 3807 .. versionchanged:: 3.5
3812 On Linux 3.17 and newer, the ``getrandom()`` syscall is now used 3808 On Linux 3.17 and newer, the ``getrandom()`` syscall is now used
3813 when available. On OpenBSD 5.6 and newer, the C ``getentropy()`` 3809 when available. On OpenBSD 5.6 and newer, the C ``getentropy()``
3814 function is now used. These functions avoid the usage of an internal file 3810 function is now used. These functions avoid the usage of an internal file
3815 descriptor. 3811 descriptor.
LEFTRIGHT

RSS Feeds Recent Issues | This issue
This is Rietveld 894c83f36cb7+