Opened 18 years ago
Closed 18 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)
Change History (9)
Changed 18 years ago by
Attachment: | 2282.patch added |
---|
comment:1 Changed 18 years ago by
Owner: | changed from Isaac Richards to danielk |
---|
Changed 18 years ago by
Attachment: | 2282-v2.patch added |
---|
Changed 18 years ago by
Attachment: | 2282-v3.patch added |
---|
Updated version of patch without extra debugging
Changed 18 years ago by
Attachment: | 2282-alt-v4.patch added |
---|
Alternate version of patch (does not make scheduling functions static)
Changed 18 years ago by
Attachment: | 2282-v4.patch added |
---|
Updated version of original patch (with static functions)
Changed 18 years ago by
Attachment: | 2282-v5.patch added |
---|
Updated version of patch for changeset [11414] (w/statics)
comment:2 Changed 18 years ago by
(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
Updated version of patch