Opened 13 years ago

Closed 13 years ago

#2282 closed patch (fixed)

Each reschedule freezes portions of UI for about 8 seconds

Reported by: danielk Owned by: danielk
Priority: minor Milestone: 0.21
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

This is primarily a problem when you delete recordings or when you use EIT.

The delete and EIT data triggers reschedules, when this happens the UI freezes up because Scheduler::FillRecordList?() grabs a lock which blocks Scheduler::getAllPending() which is used to fill the "Watch Recordings" UI.

This fixes the problem by filling a temporary list in FillRecordList?(), and then simply copying the list to reclist once it is in the proper form.

There are other problems that block the UI after a deletion, and there may be bugs in this code which I won't be able to fix any time soon, so this should not be applied before 0.20.

Attachments (6)

2282.patch (23.9 KB) - added by danielk 13 years ago.
2282-v2.patch (25.2 KB) - added by danielk 13 years ago.
Updated version of patch
2282-v3.patch (19.2 KB) - added by danielk 13 years ago.
Updated version of patch without extra debugging
2282-alt-v4.patch (16.7 KB) - added by danielk 13 years ago.
Alternate version of patch (does not make scheduling functions static)
2282-v4.patch (19.8 KB) - added by danielk 13 years ago.
Updated version of original patch (with static functions)
2282-v5.patch (20.2 KB) - added by danielk 13 years ago.
Updated version of patch for changeset [11414] (w/statics)

Download all attachments as: .zip

Change History (9)

Changed 13 years ago by danielk

Attachment: 2282.patch added

comment:1 Changed 13 years ago by danielk

Owner: changed from Isaac Richards to danielk

Changed 13 years ago by danielk

Attachment: 2282-v2.patch added

Updated version of patch

Changed 13 years ago by danielk

Attachment: 2282-v3.patch added

Updated version of patch without extra debugging

Changed 13 years ago by danielk

Attachment: 2282-alt-v4.patch added

Alternate version of patch (does not make scheduling functions static)

Changed 13 years ago by danielk

Attachment: 2282-v4.patch added

Updated version of original patch (with static functions)

Changed 13 years ago by danielk

Attachment: 2282-v5.patch added

Updated version of patch for changeset [11414] (w/statics)

comment:2 Changed 13 years ago by gigem

(In [11503]) Changed the scheduler to use a separate list without holding a lock when recalculating the schedule. This keeps getAllPending and getConflicting from blocking while a recalculation is being done. As a result, the PlayBackBox? should be much more responsive when recordings are deleted, stopped or started.

Refs #2282

comment:3 Changed 13 years ago by danielk

Resolution: fixed
Status: newclosed

Fixed by [11503]. See #2285 for a related problem.

Note: See TracTickets for help on using tickets.