[kernel] Switch logger from bip to ring buffer
A bip-buffer is good for producer/consumer systems, but ideally logs will stay in the buffer until they're ousted because they need to be overwritten. Now they're a regular ring buffer and every entry has an incremental id. Consumers pass in the last id they've seen, and will get the next log in the sequence.
This commit is contained in:
@@ -45,10 +45,10 @@ test_finish(uint32_t exit_code)
|
||||
}
|
||||
|
||||
j6_status_t
|
||||
system_get_log(system *self, void *buffer, size_t *buffer_len)
|
||||
system_get_log(system *self, uint64_t seen, void *buffer, size_t *buffer_len)
|
||||
{
|
||||
size_t orig_size = *buffer_len;
|
||||
*buffer_len = g_logger.get_entry(buffer, *buffer_len);
|
||||
*buffer_len = g_logger.get_entry(seen, buffer, *buffer_len);
|
||||
return (*buffer_len > orig_size) ? j6_err_insufficient : j6_status_ok;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user