From 33fbdc86c7c61d34219c702b66419d476e028392 Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Sat, 26 Jun 2021 15:54:27 +0200 Subject: [PATCH] Initialize fields before starting a thread To avoid data races. Reported by TSAN. --- app/src/v4l2_sink.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/v4l2_sink.c b/app/src/v4l2_sink.c index bd184b4d..a276b79c 100644 --- a/app/src/v4l2_sink.c +++ b/app/src/v4l2_sink.c @@ -241,6 +241,9 @@ sc_v4l2_sink_open(struct sc_v4l2_sink *vs) { goto error_av_frame_free; } + vs->header_written = false; + vs->stopped = false; + LOGD("Starting v4l2 thread"); ok = sc_thread_create(&vs->thread, run_v4l2_sink, "v4l2", vs); if (!ok) { @@ -248,9 +251,6 @@ sc_v4l2_sink_open(struct sc_v4l2_sink *vs) { goto error_av_packet_free; } - vs->header_written = false; - vs->stopped = false; - LOGI("v4l2 sink started to device: %s", vs->device_name); return true;