Operations during flushing logs delivered via stdio need to be performed
with the mutex held.
Change-Id: I4655b0af75172f8f22b797c0caadd28cb4619cf0
Suggested-by: Mateusz Majewski <m.majewski2@samsung.com>
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
kfree(reader);
} else {
struct logger_writer *writer = file->private_data;
-
+ struct logger_log *log = writer->log;
bool from_stdio = writer->tag && writer->prio >= 2;
- if (from_stdio && writer->b_off > 0)
+
+ if (from_stdio && writer->b_off > 0){
+ mutex_lock(&log->mutex);
flush_thread_data(file);
+ mutex_unlock(&log->mutex);
+ }
kfree(writer->tag);
kfree(writer->buffer);