Opened 11 years ago

Closed 11 years ago

#7716 closed patch (fixed)

NetworkControl play program hangs client if location != playbackbox

Reported by: foobum <foobum@…> Owned by: cpinkham
Priority: minor Milestone: 0.23
Component: MythTV - General Version: head
Severity: medium Keywords: telnet network control
Cc: Ticket locked: no


If the current location is not playbackbox when a 'play program' network control command is received, the frontend goes to playbackbox and then posts the NETWORK_CONTROL PLAY event. Entering playbackbox takes time and it's event handler is not registered when the event is posted. Therefore no result is ever returned to the client, which hangs.

Patch adds a sleep before the event is posted in an attempt to ensure that playbackbox's event handler is registered before the event is sent.

Attachments (2)

netcontrol_play_event.patch (853 bytes) - added by foobum <foobum@…> 11 years ago.
7716_v1.diff (3.2 KB) - added by cpinkham 11 years ago.

Download all attachments as: .zip

Change History (6)

Changed 11 years ago by foobum <foobum@…>

Attachment: netcontrol_play_event.patch added

comment:1 Changed 11 years ago by paulh

Milestone: 0.23
Owner: changed from Isaac Richards to cpinkham
Status: newassigned
Type: defectpatch

Changed 11 years ago by cpinkham

Attachment: 7716_v1.diff added

comment:2 Changed 11 years ago by cpinkham

I attached a more generic patch that can be used elsewhere for checking whether a new screen has been fully initialized.

comment:3 Changed 11 years ago by cpinkham

(In [23381]) Add a flag and corresponding get method which can be used to determine when a MythScreenType? has finished running Init().

This is used as part of the patch for #7716 since we can now verify that the Watch Recordings screen has loaded before trying to play a recording.

References #7716.

comment:4 Changed 11 years ago by cpinkham

Resolution: fixed
Status: assignedclosed

The fix for this accidentilly slipped into [23376] and depended on my later commit [23381].

Closing as fixed.

Note: See TracTickets for help on using tickets.