diff --git a/kernel/extended/hilog/los_hilog.c b/kernel/extended/hilog/los_hilog.c index 210addca..2c8853be 100644 --- a/kernel/extended/hilog/los_hilog.c +++ b/kernel/extended/hilog/los_hilog.c @@ -201,6 +201,13 @@ static ssize_t HiLogRead(struct file *filep, char *buffer, size_t bufLen) HiLogBufferDec(header.len); retval = header.len + sizeof(header); out: + if (retval == -ENOMEM) { + // clean ring buffer + g_hiLogDev.writeOffset = 0; + g_hiLogDev.headOffset = 0; + g_hiLogDev.size = 0; + g_hiLogDev.count = 0; + } (VOID)LOS_MuxRelease(&g_hiLogDev.mtx); return retval; }