Data needs to be locked, otherwise resulting fdata file may be
incorrect.

Signed-off-by: Jan Friesse <[email protected]>
---
 exec/logsys.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/exec/logsys.c b/exec/logsys.c
index cbcfb0c..c678689 100644
--- a/exec/logsys.c
+++ b/exec/logsys.c
@@ -1617,6 +1617,8 @@ int logsys_log_rec_store (const char *filename)
                return (-1);
        }
 
+       logsys_flt_lock();
+
        this_write_size = write (fd, &flt_data_size, sizeof(uint32_t));
        if (this_write_size != sizeof(unsigned int)) {
                goto error_exit;
@@ -1643,10 +1645,12 @@ int logsys_log_rec_store (const char *filename)
                goto error_exit;
        }
 
+       logsys_flt_unlock();
        close (fd);
        return (0);
 
 error_exit:
+       logsys_flt_unlock();
        close (fd);
        return (-1);
 }
-- 
1.6.2.5

_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to