Opened 10 years ago

Last modified 4 years ago

#2839 defect new

_pollingfile fails to call stopProducing when connection is lost

Reported by: Peaker Owned by: John Popplewell
Priority: normal Milestone:
Component: core Keywords: windows
Cc: Branch:
Author:

Description

abstract.FileDescriptor does call stopProducing when connection is lost, and it would make sense if _pollingfile did the same. Currently, win32 processes end and any producer attached to the process as a consumer does not get any notification about the process ending, and keeps happily producing into thin air.

Attachments (2)

test_pollingfile-2839.patch (7.2 KB) - added by John Popplewell 5 years ago.
call-stop-producing.patch (3.9 KB) - added by John Popplewell 5 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 7 years ago by <automation>

Owner: Glyph deleted

comment:2 Changed 5 years ago by John Popplewell

Keywords: review added
Owner: set to John Popplewell
Status: newassigned

Attached is a patch to test_pollingfile.py which demonstrates the bug.

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

Changed 5 years ago by John Popplewell

Attachment: test_pollingfile-2839.patch added

comment:3 Changed 5 years ago by John Popplewell

Keywords: review removed

comment:4 Changed 5 years ago by John Popplewell

Keywords: windows review added
Owner: John Popplewell deleted
Status: assignednew

Now calls stopProducing() when connection is lost if there is a producer. Includes a test.

Changed 5 years ago by John Popplewell

Attachment: call-stop-producing.patch added

comment:5 Changed 4 years ago by Tom Prince

Keywords: review removed
Owner: set to John Popplewell

See #5365. Also,

  1. Is resuming producing, and writing to the pipe necessary in this test?
Note: See TracTickets for help on using tickets.