diff --git a/kernel/common/los_printf.c b/kernel/common/los_printf.c index 401332861c704ffa59e4138f69b645bcc39799bf..4a12a3f1895678074866600a2ea9d6a78c144a80 100755 --- a/kernel/common/los_printf.c +++ b/kernel/common/los_printf.c @@ -98,7 +98,7 @@ STATIC VOID ConsoleOutput(const CHAR *str, UINT32 len) for (;;) { cnt = write(STDOUT_FILENO, str + writen, (size_t)toWrite); - if ((cnt < 0) || (toWrite == cnt)) { + if ((cnt < 0) || ((cnt == 0) && OS_INT_ACTIVE) || (toWrite == cnt)) { break; } writen += cnt;