Opened 10 years ago

Last modified 9 years ago

#5413 task new

— at The producer/consumer implementation of pollingfile._PollableWritePipe has some bugsVersion 2

Reported by: zseil Owned by:
Priority: normal Milestone:
Component: core Keywords: windows
Cc: Branch:
Author:

Description (last modified by Jean-Paul Calderone)

I started filling bugs with #5412, but then found #2839, #2835 and that:

  1. writeSequence doesn't pause the producer when outgoing buffer is full,
  2. data written with write gets dropped while the pipe is still disconnecting,
  3. bufferEmpty sets producerPaused attribute on the producer instead of on itself, consequently producer.resumeProducing can get called too many times.

File a ticket for each of these bugs as well. Then, fix them. This ticket is overly broad and should probably be closed as a duplicate once those tickets are filed.

Change History (2)

comment:1 Changed 10 years ago by Jean-Paul Calderone

Note #5400.

comment:2 Changed 9 years ago by Jean-Paul Calderone

Description: modified (diff)
Summary: refactor pollingfile._PollableWritePipe as a subclass of abstract.FileDescriptorThe producer/consumer implementation of pollingfile._PollableWritePipe has some bugs

Changing the summary and description of this ticket. Composition should be preferred over inheritance in almost all cases, and this seems like a case where that wisdom clearly applies. However, the *problem* is several bugs in _PollableWritePipe. The implementation details of the solution to the problem may be a subject for discussion.

Note: See TracTickets for help on using tickets.