Permalink
Please sign in to comment.
Browse files
Protect the reschedule queue with a seperate lock to fix a backend de…
…adlock. Fixes a deadlock in mythbackend caused when a reschedule request occurs immedately prior to a recording starting. The recorder thread locks the scheduler when starting a recording. The pending reschedule request handled in the event loop waits for the scheduler lock to be released blocking the event loop. The backend is now stopped from handling any further events or protocol requests, meanwhile the recorder is waiting on events to be processed before it will release the lock resulting in an irrecoverable deadlock (or hang) and the failure of the recording. This deadlock was more likely to be triggered for users of EIT because it will ask for a reschedule every 5 minutes in addition to any reschedules triggered through other means. Refs #10771
- Loading branch information...
Showing
with
41 additions
and 8 deletions.
0 comments on commit
11d7795