Commit Graph

55 Commits

Author SHA1 Message Date
Antoine Pitrou c2ec992698 Issue #15247: FileIO now raises an error when given a file descriptor pointing to a directory. 2012-07-06 18:48:24 +02:00
Hynek Schlawack 9bd4bf2a3d #10053: Don't close FDs when FileIO.__init__ fails
Loosely based on the work by Hirokazu Yamamoto.
2012-06-21 19:45:19 +02:00
Hynek Schlawack 877effc298 #4841: Fix FileIO constructor to honor closefd when called repeatedly
Patch by Victor Stinner.
2012-05-25 09:24:18 +02:00
Antoine Pitrou 4b536d4771 Issue #14437: Fix building the _io module under Cygwin. 2012-03-31 23:53:07 +02:00
Éric Araujo 7f4b3be2cc Fix typo “seperator” 2012-02-26 01:41:39 +01:00
Antoine Pitrou 5aa7df320f Issue #13322: Fix BufferedWriter.write() to ensure that BlockingIOError is
raised when the wrapped raw file is non-blocking and the write would block.
Previous code assumed that the raw write() would raise BlockingIOError, but
RawIOBase.write() is defined to returned None when the call would block.
Patch by sbt.
2011-11-21 20:16:44 +01:00
Nadeem Vawda 36248154a9 Issue #13159: Replace FileIO's quadratic-time buffer growth algorithm with a linear-time one.
Also fix the builtin file class and the bz2 module, which used the same algorithm.
2011-10-13 13:52:46 +02:00
Charles-François Natali 9ffcbf71a5 Issue #13070: Fix a crash when a TextIOWrapper caught in a reference cycle
would be finalized after the reference to its underlying BufferedRWPair's
writer got cleared by the GC.
2011-10-06 19:09:45 +02:00
Antoine Pitrou 808cec536a Issue #12213: Fix a buffering bug with interleaved reads and writes that
could appear on io.BufferedRandom streams.
2011-08-20 15:40:58 +02:00
Eli Bendersky eaf312a0a4 Issue #12434: make StringIO.write error message consistent with Python 2.7 nomenclature 2011-07-22 14:39:55 +03:00
Victor Stinner 59729ff609 Issue #9611, #9015: FileIO.read(), FileIO.readinto(), FileIO.write() and
os.write() clamp the length to INT_MAX on Windows.
2011-07-05 11:28:19 +02:00
Victor Stinner daf17e9bc8 Issue #12175: RawIOBase.readall() now returns None if read() returns None. 2011-05-25 22:52:37 +02:00
Victor Stinner 5100a405dc Issue #12175: FileIO.readall() now raises a ValueError instead of an IOError if
the file is closed.
2011-05-25 22:15:36 +02:00
Antoine Pitrou ee46a7bf9c Issue #12062: In the `io` module, fix a flushing bug when doing a certain
type of I/O sequence on a file opened in read+write mode (namely: reading,
seeking a bit forward, writing, then seeking before the previous write but
still within buffered data, and writing again).
2011-05-13 00:31:52 +02:00
Ezio Melotti c2077b0d9b #11565: Fix several typos. Patch by Piotr Kasprzyk. 2011-03-16 12:34:31 +02:00
Antoine Pitrou 6439c00a6d Merged revisions 88610 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r88610 | antoine.pitrou | 2011-02-25 22:24:11 +0100 (ven., 25 févr. 2011) | 4 lines

  Issue #10956: Buffered I/O classes retry reading or writing after a signal
  has arrived and the handler returned successfully.
........
2011-02-25 21:35:47 +00:00
Antoine Pitrou fc9ead69e5 Merged revisions 87427 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87427 | antoine.pitrou | 2010-12-21 22:20:59 +0100 (mar., 21 déc. 2010) | 3 lines

  Issue #10750: The `raw` attribute of buffered IO objects is now read-only.
........
2010-12-21 21:26:55 +00:00
Antoine Pitrou 4cb64ad8bb Merged revisions 86981,86984 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r86981 | antoine.pitrou | 2010-12-03 19:41:39 +0100 (ven., 03 déc. 2010) | 5 lines

  Issue #10478: Reentrant calls inside buffered IO objects (for example by
  way of a signal handler) now raise a RuntimeError instead of freezing the
  current process.
........
  r86984 | antoine.pitrou | 2010-12-03 20:14:17 +0100 (ven., 03 déc. 2010) | 3 lines

  Add an "advanced topics" section to the io doc.
........
2010-12-03 19:31:52 +00:00
Georg Brandl 1060380ea4 Merged revisions 85768-85771,85773,85777,85823,85825 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85768 | georg.brandl | 2010-10-21 14:59:14 +0200 (Do, 21 Okt 2010) | 1 line

  #9919: fix off-by-one error in lineno command in Misc/gdbinit; also add newline to its output.
........
  r85769 | georg.brandl | 2010-10-21 15:01:23 +0200 (Do, 21 Okt 2010) | 1 line

  Fix missing import.
........
  r85770 | georg.brandl | 2010-10-21 15:29:10 +0200 (Do, 21 Okt 2010) | 1 line

  #3077: fix h2py substitution of character literals.
........
  r85771 | georg.brandl | 2010-10-21 15:34:51 +0200 (Do, 21 Okt 2010) | 1 line

  #1203650: allow larger list of files in windows makefile for freeze.
........
  r85773 | georg.brandl | 2010-10-21 15:45:52 +0200 (Do, 21 Okt 2010) | 1 line

  #4829: better error message for invalid file mode
........
  r85777 | georg.brandl | 2010-10-21 17:44:51 +0200 (Do, 21 Okt 2010) | 1 line

  Add .hgeol file for the Mercurial EOL extension.
........
  r85823 | georg.brandl | 2010-10-24 16:32:45 +0200 (So, 24 Okt 2010) | 1 line

  Fix style.
........
  r85825 | georg.brandl | 2010-10-24 17:16:02 +0200 (So, 24 Okt 2010) | 1 line

  Add documentation about the default warnings filters.
........
2010-11-26 08:10:41 +00:00
Benjamin Peterson 4fec9ce601 Merged revisions 86587 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r86587 | benjamin.peterson | 2010-11-20 11:24:04 -0600 (Sat, 20 Nov 2010) | 1 line

  correct logic when pos is after the string #10467
........
2010-11-20 17:31:08 +00:00
Antoine Pitrou 594a046b88 Merged revisions 85982 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85982 | antoine.pitrou | 2010-10-30 18:19:14 +0200 (sam., 30 oct. 2010) | 4 lines

  Issue #10253: FileIO leaks a file descriptor when trying to open a file
  for append that isn't seekable.  Patch by Brian Brazil.
........
2010-10-31 13:05:48 +00:00
Antoine Pitrou 78de9cc146 Merged revisions 85864 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85864 | antoine.pitrou | 2010-10-27 21:45:43 +0200 (mer., 27 oct. 2010) | 5 lines

  In open(), only set the buffer size from st.st_blksize when it is greater
  than 1.  This matches the pure Python implementation in _pyio and should
  fix a couple of failures on the NetBSD buildbot.
........
2010-10-27 19:53:15 +00:00
Antoine Pitrou 6391b3440f Merged revisions 84814 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84814 | antoine.pitrou | 2010-09-14 20:37:24 +0200 (mar., 14 sept. 2010) | 4 lines

  Issue #9854: The default read() implementation in io.RawIOBase now
  handles non-blocking readinto() returning None correctly.
........
2010-09-14 18:48:19 +00:00
Antoine Pitrou 5cd2d8c7ec Merged revisions 84438 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84438 | antoine.pitrou | 2010-09-02 21:48:07 +0200 (jeu., 02 sept. 2010) | 3 lines

  BytesIO.getvalue() and StringIO.getvalue() are METH_NOARGS.
........
2010-09-02 22:23:19 +00:00
Antoine Pitrou 3ebaed60b4 Merged revisions 84239 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84239 | antoine.pitrou | 2010-08-21 21:09:32 +0200 (sam., 21 août 2010) | 4 lines

  Issue #9617: Signals received during a low-level write operation aren't
  ignored by the buffered IO layer anymore.
........
2010-08-21 19:17:25 +00:00
Antoine Pitrou cb4f47c377 Merged revisions 83944 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83944 | antoine.pitrou | 2010-08-11 15:31:33 +0200 (mer., 11 août 2010) | 6 lines

  Issue #9550: a BufferedReader could issue an additional read when the
  original read request had been satisfied, which can block indefinitely
  when the underlying raw IO channel is e.g. a socket.  Report and original
  patch by Jason V. Miller.
........
2010-08-11 13:40:17 +00:00
Antoine Pitrou 607951d405 Merged revisions 83411 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83411 | antoine.pitrou | 2010-08-01 18:53:42 +0200 (dim., 01 août 2010) | 4 lines

  Issue #9448: Fix a leak of OS resources (mutexes or semaphores) when
  re-initializing a buffered IO object by calling its `__init__` method.
........
2010-08-01 16:57:17 +00:00
Antoine Pitrou b26dc46576 Untabify Modules/_io/fileio.c 2010-05-05 16:27:30 +00:00
Antoine Pitrou f7fd8e4c94 Issue #7865: The close() method of :mod:`io` objects should not swallow
exceptions raised by the implicit flush().  Also ensure that calling
close() several times is supported.  Patch by Pascal Chambon.
2010-05-03 16:25:33 +00:00
Antoine Pitrou 7c587bf53d Issue #8438: Remove reference to the missing "surrogateescape" encoding
error handler from the new IO library.
2010-04-19 18:52:43 +00:00
Antoine Pitrou bba8f2d10a Revert temporary commit in r79937 2010-04-10 23:32:12 +00:00
Antoine Pitrou 16e026cc94 Temporary commit of fix to issue #5380 (in order to watch buildbot response) 2010-04-10 22:43:05 +00:00
Andrew M. Kuchling 4b81bc7fe6 #7706: add include guards where they're missing; required for Windows CE 2010-02-22 23:12:00 +00:00
Antoine Pitrou f3fa074703 - Issue #6939: Fix file I/O objects in the `io` module to keep the original
file position when calling `truncate()`.  It would previously change the
  file position to the given argument, which goes against the tradition of
  ftruncate() and other truncation APIs.  Patch by Pascal Chambon.
2010-01-31 22:26:04 +00:00
Antoine Pitrou e812d29b52 Issue #7545: improve documentation of the `buffering` argument in io.open(). 2009-12-19 21:01:10 +00:00
Benjamin Peterson aef189939e remove unused variable 2009-12-13 19:27:02 +00:00
Benjamin Peterson ddd392cbb9 accept None as the same as having passed no argument in file types #7349
This is for consistency with imitation file objects like StringIO and BytesIO.

This commit also adds a few tests, where they were lacking for concerned
methods.
2009-12-13 19:19:07 +00:00
Mark Dickinson 889d96455a Issue #7228: Fix format mismatch when printing something of type off_t.
(Should silence some compiler warnings.)
2009-11-24 20:51:48 +00:00
Antoine Pitrou e50efaad9f Buffered I/O: optimize lock taking in the common non-contended case. 2009-11-01 11:58:22 +00:00
Mark Dickinson 3ddb52717f Roll back ill-considered attempts to fix printf specifier mismatch for off_t.
The sensible solution seems to be to implement %lld for PyString_FromFormat(V)
and PyErr_Format.  See issue #7228.
2009-10-29 09:46:04 +00:00
Mark Dickinson e8486931b6 Fix format specifier for MSVC 2009-10-28 07:47:32 +00:00
Mark Dickinson 791181b0ff Replace long long with PY_LONG_LONG 2009-10-28 07:23:49 +00:00
Mark Dickinson bf1039d98c Silence gcc warnings when trying to print an off_t using "lld", on platforms
where off_t has type long (e.g., 64-bit Linux).
2009-10-27 21:48:20 +00:00
Mark Dickinson e052b64def Use correct conversion specifier and length modifier when printing an
integer of type off_t.  Also, don't assume that long long is available.
2009-10-26 19:59:23 +00:00
Antoine Pitrou 5e9f6676ea Fix compilation error in debug mode. 2009-10-24 12:41:27 +00:00
Antoine Pitrou f7820c1626 Manual py3k backport: [svn r74316] Issue #5449: Fix io.BytesIO to not accept arbitrary keywords 2009-10-24 12:28:22 +00:00
Antoine Pitrou fa94e80f3b Manual py3k backport: [svn r74158] Issue #6218: Make io.BytesIO and io.StringIO picklable. 2009-10-24 12:23:18 +00:00
Antoine Pitrou f98a267be3 Manual py3k backport: [svn r74155] Issue #6242: Fix deallocator of io.StringIO and io.BytesIO 2009-10-24 11:59:41 +00:00
Amaury Forgeot d'Arc 3de4647022 Fix compilation warning on Windows, where size_t is 32bit but file offsets are 64bit. 2009-10-05 20:18:05 +00:00
Antoine Pitrou 2a46658bee Issue #6236, #6348: Fix various failures in the io module under AIX
and other platforms, when using a non-gcc compiler. Patch by egreen.

In addition, I made explicit the signedness of all bitfields in the
IO library.
2009-09-21 21:17:48 +00:00