From 2928c53e4fbf4be17f760f98c6b1dc3175f754bc Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Tue, 21 Apr 2020 04:15:11 +0800 Subject: [PATCH] cleanup visionipc when recovering from fault in dmonitoringd and loggerd (#1402) --- selfdrive/loggerd/loggerd.cc | 1 + selfdrive/modeld/dmonitoringmodeld.cc | 1 + 2 files changed, 2 insertions(+) diff --git a/selfdrive/loggerd/loggerd.cc b/selfdrive/loggerd/loggerd.cc index ed5a341003..eb41485230 100644 --- a/selfdrive/loggerd/loggerd.cc +++ b/selfdrive/loggerd/loggerd.cc @@ -168,6 +168,7 @@ void encoder_thread(bool is_streaming, bool raw_clips, bool front) { VIPCBuf* buf = visionstream_get(&stream, &extra); if (buf == NULL) { LOG("visionstream get failed"); + visionstream_destroy(&stream); break; } diff --git a/selfdrive/modeld/dmonitoringmodeld.cc b/selfdrive/modeld/dmonitoringmodeld.cc index ba69e5f539..d17247f9e5 100644 --- a/selfdrive/modeld/dmonitoringmodeld.cc +++ b/selfdrive/modeld/dmonitoringmodeld.cc @@ -55,6 +55,7 @@ int main(int argc, char **argv) { buf = visionstream_get(&stream, &extra); if (buf == NULL) { printf("visionstream get failed\n"); + visionstream_destroy(&stream); break; } //printf("frame_id: %d %dx%d\n", extra.frame_id, buf_info.width, buf_info.height);