Commit Graph

43 Commits

Author SHA1 Message Date
Antoine Pitrou 58fcf9f801 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
Charles-François Natali 42c28cdd1d 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-05 19:53:43 +02:00
Antoine Pitrou 1e44fecc52 Issue #13087: BufferedReader.seek() now always raises UnsupportedOperation
if the underlying raw stream is unseekable, even if the seek could be
satisfied using the internal buffer.  Patch by John O'Connor.
2011-10-04 12:26:20 +02:00
Antoine Pitrou e05565ec5a Issue #12213: Fix a buffering bug with interleaved reads and writes that
could appear on BufferedRandom streams.
2011-08-20 14:39:23 +02:00
Antoine Pitrou 00dd182b8e Issue #12062: 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:16:28 +02:00
Antoine Pitrou 7c40489180 Issue #12062: 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:13:33 +02:00
Antoine Pitrou d843c2d86f 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:34:39 +00:00
Antoine Pitrou 6cfc5124f2 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:09 +00:00
Antoine Pitrou 7f8f41808b Issue #10750: The `raw` attribute of buffered IO objects is now read-only. 2010-12-21 21:20:59 +00:00
Antoine Pitrou 976157f9f3 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:21:49 +00:00
Antoine Pitrou f3b68b3f98 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.
2010-12-03 18:41:39 +00:00
Matthias Klose bee3316083 Modules/_io/bufferedio.c (buffered_dealloc_warn): Make it static. 2010-11-16 20:07:51 +00:00
Antoine Pitrou 243757eb79 Issue #10180: Pickling file objects is now explicitly forbidden, since
unpickling them produced nonsensical results.
2010-11-05 21:15:39 +00:00
Antoine Pitrou e033e06db0 Issue #10093: ResourceWarnings are now issued when files and sockets are
deallocated without explicit closing.  These warnings are silenced by
default, except in pydebug mode.
2010-10-29 10:38:18 +00:00
Antoine Pitrou 16b11de04e 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:57 +00:00
Antoine Pitrou b46b9d59ef Issue #9617: Signals received during a low-level write operation aren't
ignored by the buffered IO layer anymore.
2010-08-21 19:09:32 +00:00
Antoine Pitrou 00091cada6 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:38:10 +00:00
Antoine Pitrou 32cfedeb1c 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:31:33 +00:00
Antoine Pitrou f6df1ee171 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:42 +00:00
Antoine Pitrou c881f1592f 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:53:42 +00:00
Antoine Pitrou faf9007d86 Merged revisions 80722 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r80722 | antoine.pitrou | 2010-05-03 18:48:20 +0200 (lun., 03 mai 2010) | 11 lines

  Merged revisions 80720 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r80720 | antoine.pitrou | 2010-05-03 18:25:33 +0200 (lun., 03 mai 2010) | 5 lines

    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:58:19 +00:00
Antoine Pitrou 6be8876623 Merged revisions 80720 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80720 | antoine.pitrou | 2010-05-03 18:25:33 +0200 (lun., 03 mai 2010) | 5 lines

  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:48:20 +00:00
Benjamin Peterson 6b59f77c43 Merged revisions 76806,76808 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r76806 | benjamin.peterson | 2009-12-13 13:25:34 -0600 (Sun, 13 Dec 2009) | 14 lines

  Merged revisions 76805 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r76805 | benjamin.peterson | 2009-12-13 13:19:07 -0600 (Sun, 13 Dec 2009) | 7 lines

    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.
  ........
................
  r76808 | benjamin.peterson | 2009-12-13 13:28:09 -0600 (Sun, 13 Dec 2009) | 9 lines

  Merged revisions 76807 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r76807 | benjamin.peterson | 2009-12-13 13:27:02 -0600 (Sun, 13 Dec 2009) | 1 line

    remove unused variable
  ........
................
2009-12-13 19:30:15 +00:00
Benjamin Peterson bf5ff76597 Merged revisions 76805 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76805 | benjamin.peterson | 2009-12-13 13:19:07 -0600 (Sun, 13 Dec 2009) | 7 lines

  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:25:34 +00:00
Mark Dickinson 1a0aaaabb6 Merged revisions 76502 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76502 | mark.dickinson | 2009-11-24 20:51:48 +0000 (Tue, 24 Nov 2009) | 3 lines

  Issue #7228:  Fix format mismatch when printing something of type off_t.
  (Should silence some compiler warnings.)
........
2009-11-24 20:54:11 +00:00
Antoine Pitrou 5800b27104 Merged revisions 76007 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76007 | antoine.pitrou | 2009-11-01 12:58:22 +0100 (dim., 01 nov. 2009) | 3 lines

  Buffered I/O: optimize lock taking in the common non-contended case.
........
2009-11-01 12:05:48 +00:00
Mark Dickinson 00de1bdcfc Merged revisions 75941 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r75941 | mark.dickinson | 2009-10-29 09:58:06 +0000 (Thu, 29 Oct 2009) | 11 lines

  Merged revisions 75939 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r75939 | mark.dickinson | 2009-10-29 09:46:04 +0000 (Thu, 29 Oct 2009) | 5 lines

    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 10:01:23 +00:00
Mark Dickinson cb9285cd37 Merged revisions 75939 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75939 | mark.dickinson | 2009-10-29 09:46:04 +0000 (Thu, 29 Oct 2009) | 5 lines

  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:58:06 +00:00
Mark Dickinson 121fbe4745 Merged revisions 75881 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r75881 | mark.dickinson | 2009-10-27 21:49:48 +0000 (Tue, 27 Oct 2009) | 10 lines

  Merged revisions 75879 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r75879 | mark.dickinson | 2009-10-27 21:48:20 +0000 (Tue, 27 Oct 2009) | 3 lines

    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:51:51 +00:00
Mark Dickinson d430ebe1fd Merged revisions 75879 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75879 | mark.dickinson | 2009-10-27 21:48:20 +0000 (Tue, 27 Oct 2009) | 3 lines

  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:49:48 +00:00
Mark Dickinson 6576848855 Merged revisions 75729 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r75729 | mark.dickinson | 2009-10-26 20:02:55 +0000 (Mon, 26 Oct 2009) | 10 lines

  Merged revisions 75728 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r75728 | mark.dickinson | 2009-10-26 19:59:23 +0000 (Mon, 26 Oct 2009) | 3 lines

    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-27 18:43:44 +00:00
Mark Dickinson 238b1098ca Merged revisions 75728 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75728 | mark.dickinson | 2009-10-26 19:59:23 +0000 (Mon, 26 Oct 2009) | 3 lines

  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 20:02:55 +00:00
Amaury Forgeot d'Arc e1b60d4849 Merged revisions 75258 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75258 | amaury.forgeotdarc | 2009-10-05 22:18:05 +0200 (lun., 05 oct. 2009) | 2 lines

  Fix compilation warning on Windows, where size_t is 32bit but file offsets are 64bit.
........
2009-10-05 21:09:00 +00:00
Antoine Pitrou 0473e56964 Merged revisions 74338 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r74338 | antoine.pitrou | 2009-08-06 22:29:56 +0200 (jeu., 06 août 2009) | 14 lines

  Merged revisions 74336 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r74336 | antoine.pitrou | 2009-08-06 22:18:29 +0200 (jeu., 06 août 2009) | 8 lines

    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:52:43 +00:00
Antoine Pitrou a0ceb731fb Merged revisions 74336 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r74336 | antoine.pitrou | 2009-08-06 22:18:29 +0200 (jeu., 06 août 2009) | 8 lines

  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:29:56 +00:00
Benjamin Peterson 680bf1afe8 move to a naming scheme with all lowercase and underscores 2009-06-12 02:07:12 +00:00
Antoine Pitrou 716c444edc Issue #5761: Add the name of the underlying file to the repr() of various IO objects. 2009-05-23 19:04:03 +00:00
Benjamin Peterson d2e0c7955f implement a detach() method for BufferedIOBase and TextIOBase #5883 2009-05-01 20:40:59 +00:00
Benjamin Peterson 1fea321502 use NULL for the ends of tables 2009-04-19 03:15:20 +00:00
Antoine Pitrou cf4c749680 Issue #5734: BufferedRWPair was poorly tested and had several glaring bugs.
Patch by Brian Quinlan.
2009-04-19 00:09:36 +00:00
Antoine Pitrou 711af3ae1e #5502: accelerate binary buffered IO (especially small operations).
On a suggestion by Victor Stinner.
2009-04-11 15:39:24 +00:00
Georg Brandl dfd734429e Merge revision 71222 from trunk: #5615: make it possible to configure --without-threads again. 2009-04-05 11:47:34 +00:00
Alexandre Vassalotti 8d8d630003 Issue 5682: Move _io module into its own subdirectory.
Reviewed by: Antoine Pitrou
2009-04-04 19:58:40 +00:00