Wait for closeEvent thread to finish. Fixes unfinished event when zmc told to restart
This commit is contained in:
parent
bfbba5474f
commit
a0fd8d64d2
|
@ -3096,9 +3096,6 @@ int Monitor::PrimeCapture() {
|
||||||
int Monitor::PreCapture() const { return camera->PreCapture(); }
|
int Monitor::PreCapture() const { return camera->PreCapture(); }
|
||||||
int Monitor::PostCapture() const { return camera->PostCapture(); }
|
int Monitor::PostCapture() const { return camera->PostCapture(); }
|
||||||
int Monitor::Close() {
|
int Monitor::Close() {
|
||||||
if (close_event_thread.joinable()) {
|
|
||||||
close_event_thread.join();
|
|
||||||
}
|
|
||||||
// Because the stream indexes may change we have to clear out the packetqueue
|
// Because the stream indexes may change we have to clear out the packetqueue
|
||||||
if (decoder) {
|
if (decoder) {
|
||||||
decoder->Stop();
|
decoder->Stop();
|
||||||
|
@ -3116,10 +3113,14 @@ int Monitor::Close() {
|
||||||
video_fifo = nullptr;
|
video_fifo = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (close_event_thread.joinable()) {
|
||||||
|
close_event_thread.join();
|
||||||
|
}
|
||||||
std::lock_guard<std::mutex> lck(event_mutex);
|
std::lock_guard<std::mutex> lck(event_mutex);
|
||||||
if (event) {
|
if (event) {
|
||||||
Info("%s: image_count:%d - Closing event %" PRIu64 ", shutting down", name.c_str(), image_count, event->Id());
|
Info("%s: image_count:%d - Closing event %" PRIu64 ", shutting down", name.c_str(), image_count, event->Id());
|
||||||
closeEvent();
|
closeEvent();
|
||||||
|
close_event_thread.join();
|
||||||
}
|
}
|
||||||
if (camera) camera->Close();
|
if (camera) camera->Close();
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Loading…
Reference in New Issue