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

Updated version of patch