Opened 4 years ago

Last modified 4 years ago

#6493 defect new

test_pollingfile: writeSequence() doesn't pause the producer when outgoing buffer is full

Reported by: John Popplewell Owned by: John Popplewell
Priority: normal Milestone:
Component: core Keywords: windows
Cc: Branch: branches/pollingfile-writesequence-calls-pauseproducer-6493
branch-diff, diff-cov, branch-cov, buildbot
Author: tomprince

Description

Attached is a patch to test_pollingfile.py which demonstrates the bug. See #5413 for the original report.

I have an abstract.FileDescriptor based fix to _pollingfile.py which resolves this and 5 other related bugs.

Attachments (2)

test_pollingfile-5413-write-sequence.patch (6.9 KB) - added by John Popplewell 4 years ago.
writesequence-calls-pauseproducer.patch (4.6 KB) - added by John Popplewell 4 years ago.

Download all attachments as: .zip

Change History (8)

Changed 4 years ago by John Popplewell

comment:1 Changed 4 years ago by John Popplewell

Keywords: review removed

comment:2 Changed 4 years ago by John Popplewell

Keywords: windows review added
Owner: John Popplewell deleted

_pollingfile.writeSequence() now pauses the producer when write buffer fills. Includes a test.

Note: the test assumes that #2835 has been resolved.

Changed 4 years ago by John Popplewell

comment:3 Changed 4 years ago by Tom Prince

Author: tomprince
Branch: branches/pollingfile-writesequence-calls-pauseproducer-6493

(In [38841]) Branching to pollingfile-writesequence-calls-pauseproducer-6493.

comment:4 Changed 4 years ago by Tom Prince

(In [38842]) Apply tests from writesequence-calls-pauseproducer.patch from johnnypops.

Refs: #6493

comment:5 Changed 4 years ago by Tom Prince

(In [38843]) Apply code changes from writesequence-calls-pauseproducer.patch from johnnypops.

Refs: #6493

comment:6 Changed 4 years ago by Tom Prince

Keywords: review removed
Owner: set to John Popplewell
  1. Many of the notes from #5365 are appropriate here. Perhaps there is some factorization that could be done between the tests?
  2. Use TestCase.patch to patch attributes.
  3. writeSequence should still write data, when disconnecting
Note: See TracTickets for help on using tickets.