Opened 21 years ago
Closed 21 years ago
#414 closed patch (fixed)
EITScanner, passive scan enhancements
| Reported by: | Stuart Auchterlonie | Owned by: | danielk |
|---|---|---|---|
| Priority: | minor | Milestone: | 0.19 |
| Component: | mythtv | Version: | head |
| Severity: | low | Keywords: | EITscanner |
| Cc: | Ticket locked: | no |
Description
These changes limit the EITHelper::ProcessEvents to only inserting 20 events per run. This is called from EITScanner's eventloop every 200ms. This reduces the impact on the database to ensure database accesses don't cause timeouts and pauses elsewhere.
Attachments (1)
Change History (2)
by , 21 years ago
| Attachment: | eitscanner-passive-easy-on-db.diff added |
|---|
comment:1 by , 21 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
I didn't use the attached patch.
It turns out the Event class was not being used in a thread-safe way.
This is due to the QString and QStringList classes it contains. These classes use shared data and either all copies must be locked or you must make deep copies. I added a deep copy method to Event and use that to make this safe.
I also changed QList_Events and QListList_Events from QValueList classes to MythDequeue classes. This lets us convert some of those loops to simple function calls. And makes sense algorithmically since we use them not as vectors but as FIFO queues.

The Patch