desbma added the comment:
If I understand you correctly, a naive implementation like this:
use_chunk_copy = False
try:
fdsrc = fsrc.fileno()
fddst = fdst.fileno()
except OSError:
# fallback on current chunk based Python copy
use_chunk_copy = True
else:
# we have 2 fd, try sendfile
try:
os.sendfile(fdsrc, fddst)
except AttributeError:
# sendfile not available
use_chunk_copy = True
if use_chunk_copy:
# use current Python based chunk copy
...would not work because some file like objects expose fileno(), even though
it does not accurately represent the file because they wrap it to add special
behavior (like GzipFile).
I don't understand, if they alter the file behavior, why do they expose
fileno()?
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue25063>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com