Commit Graph

49 Commits

Author SHA1 Message Date
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
Amaury Forgeot d'Arc fff896b309 #6750: TextIOWrapped could duplicate output when several threads write to it.
this affect text files opened with io.open(), and the print() function of py3k
2009-08-29 18:14:40 +00:00
Antoine Pitrou 20e1f932fa Issue #6629: Fix a data corruption issue in the new `io` package, which could
occur when writing to a BufferedRandom object (e.g. a file opened in "rb+" or
"wb+" mode) after having buffered a certain amount of data for reading. This
bug was not present in the pure Python implementation.

Yes, this is a serious issue.
2009-08-06 20:18:29 +00:00
Hirokazu Yamamoto a3c5609079 Issue #4856: Remove checks for win NT. 2009-06-28 10:23:00 +00:00
Benjamin Peterson 9f7baec574 backport r73430 2009-06-14 22:36:48 +00:00
Antoine Pitrou 1969059327 Issue #6215: backport the 3.1 io lib 2009-06-12 20:14:08 +00:00