Opened 20 years ago

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

Download all attachments as: .zip

Change History (9)

by danielk, 20 years ago

Attachment: 2282.patch added

comment:1 by danielk, 20 years ago

Owner: changed from Isaac Richards to danielk

by danielk, 20 years ago

Attachment: 2282-v2.patch added

Updated version of patch

by danielk, 20 years ago

Attachment: 2282-v3.patch added

Updated version of patch without extra debugging

by danielk, 20 years ago

Attachment: 2282-alt-v4.patch added

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

by danielk, 20 years ago

Attachment: 2282-v4.patch added

Updated version of original patch (with static functions)

by danielk, 20 years ago

Attachment: 2282-v5.patch added

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

comment:2 by gigem, 20 years ago

(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 by danielk, 20 years ago

Resolution: fixed
Status: newclosed

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

Note: See TracTickets for help on using tickets.