Skip to content

Commit db478c5

Browse files
Fix a race condition in MPEGRecorder shutdown.
1 parent 168ed3c commit db478c5

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

mythtv/libs/libmythtv/mpegrecorder.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1139,6 +1139,7 @@ void MpegRecorder::StartRecording(void)
11391139

11401140
LOG(VB_RECORD, LOG_INFO, LOC + "StartRecording finishing up");
11411141

1142+
pauseLock.lock();
11421143
if (_device_read_buffer)
11431144
{
11441145
if (_device_read_buffer->IsRunning())
@@ -1147,6 +1148,7 @@ void MpegRecorder::StartRecording(void)
11471148
delete _device_read_buffer;
11481149
_device_read_buffer = NULL;
11491150
}
1151+
pauseLock.unlock();
11501152

11511153
StopEncoding(readfd);
11521154

@@ -1168,8 +1170,10 @@ void MpegRecorder::StartRecording(void)
11681170

11691171
void MpegRecorder::StopRecording(void)
11701172
{
1173+
pauseLock.lock();
11711174
if (_device_read_buffer && _device_read_buffer->IsRunning())
11721175
_device_read_buffer->Stop();
1176+
pauseLock.unlock();
11731177
V4LRecorder::StopRecording();
11741178
}
11751179

0 commit comments

Comments
 (0)