diff --git a/mythtv/libs/libmythtv/eitscanner.cpp b/mythtv/libs/libmythtv/eitscanner.cpp
index 6135e08..660cdc4 100644
|
a
|
b
|
void EITScanner::run(void)
|
| 147 | 147 | // 24 hours ago |
| 148 | 148 | eitHelper->PruneEITCache(activeScanNextTrig.toTime_t() - 86400); |
| 149 | 149 | } |
| | 150 | if (!activeScan) |
| | 151 | activeScanStopped = true; |
| 150 | 152 | |
| 151 | 153 | lock.lock(); |
| 152 | 154 | if (!exitThread) |
| 153 | 155 | exitThreadCond.wait(&lock, 400); // sleep up to 400 ms. |
| | 156 | |
| | 157 | if (!activeScan) |
| | 158 | activeScanStopped = true; |
| 154 | 159 | } |
| 155 | 160 | lock.unlock(); |
| | 161 | activeScanStopped = true; |
| 156 | 162 | } |
| 157 | 163 | |
| 158 | 164 | /** \fn EITScanner::RescheduleRecordings(void) |
| … |
… |
void EITScanner::StartActiveScan(TVRec *_rec, uint max_seconds_per_source)
|
| 271 | 277 | // Add a little randomness to trigger time so multiple |
| 272 | 278 | // cards will have a staggered channel changing time. |
| 273 | 279 | activeScanTrigTime += random() % 29; |
| | 280 | activeScanStopped = false; |
| 274 | 281 | activeScan = true; |
| 275 | 282 | } |
| 276 | 283 | } |
| 277 | 284 | |
| 278 | | void EITScanner::StopActiveScan() |
| | 285 | void EITScanner::StopActiveScan(void) |
| 279 | 286 | { |
| | 287 | activeScanStopped = false; |
| 280 | 288 | activeScan = false; |
| 281 | | rec = NULL; |
| | 289 | |
| | 290 | lock.lock(); |
| | 291 | exitThreadCond.wakeAll(); |
| | 292 | lock.unlock(); |
| | 293 | |
| 282 | 294 | StopPassiveScan(); |
| | 295 | while (!activeScanStopped) |
| | 296 | usleep(10000); |
| | 297 | |
| | 298 | rec = NULL; |
| 283 | 299 | } |
diff --git a/mythtv/libs/libmythtv/eitscanner.h b/mythtv/libs/libmythtv/eitscanner.h
index 36dd4d9..af4f1e5 100644
|
a
|
b
|
class EITScanner : public QRunnable
|
| 58 | 58 | QWaitCondition exitThreadCond; |
| 59 | 59 | |
| 60 | 60 | TVRec *rec; |
| 61 | | bool activeScan; |
| | 61 | volatile bool activeScan; |
| | 62 | volatile bool activeScanStopped; |
| 62 | 63 | QDateTime activeScanNextTrig; |
| 63 | 64 | uint activeScanTrigTime; |
| 64 | 65 | QStringList activeScanChannels; |