Browse Source

sdlog2: Free log buffer on log stop

sbg
Lorenz Meier 9 years ago
parent
commit
a14e083728
  1. 7
      src/modules/sdlog2/logbuffer.c
  2. 2
      src/modules/sdlog2/logbuffer.h
  3. 3
      src/modules/sdlog2/sdlog2.c

7
src/modules/sdlog2/logbuffer.c

@ -143,3 +143,10 @@ void logbuffer_mark_read(struct logbuffer_s *lb, int n) @@ -143,3 +143,10 @@ void logbuffer_mark_read(struct logbuffer_s *lb, int n)
{
lb->read_ptr = (lb->read_ptr + n) % lb->size;
}
void logbuffer_free(struct logbuffer_s *lb)
{
if (lb->data) {
free(lb->data);
}
}

2
src/modules/sdlog2/logbuffer.h

@ -65,4 +65,6 @@ int logbuffer_get_ptr(struct logbuffer_s *lb, void **ptr, bool *is_part); @@ -65,4 +65,6 @@ int logbuffer_get_ptr(struct logbuffer_s *lb, void **ptr, bool *is_part);
void logbuffer_mark_read(struct logbuffer_s *lb, int n);
void logbuffer_free(struct logbuffer_s *lb);
#endif

3
src/modules/sdlog2/sdlog2.c

@ -771,6 +771,9 @@ void sdlog2_stop_log() @@ -771,6 +771,9 @@ void sdlog2_stop_log()
/* free log writer performance counter */
perf_free(perf_write);
/* free log buffer */
logbuffer_free(&lb);
mavlink_and_console_log_info(mavlink_fd, "[blackbox] recording stopped");
sdlog2_status();

Loading…
Cancel
Save