diff --git a/kernel/kernel/Terminal/TTY.cpp b/kernel/kernel/Terminal/TTY.cpp index d1a6aa48..4589634a 100644 --- a/kernel/kernel/Terminal/TTY.cpp +++ b/kernel/kernel/Terminal/TTY.cpp @@ -428,12 +428,19 @@ namespace Kernel BAN::ErrorOr TTY::write_impl(off_t, BAN::ConstByteSpan buffer) { - SpinLockGuard _(m_write_lock); size_t written = 0; - for (; written < buffer.size(); written++) - if (!putchar(buffer[written])) - break; - update_cursor(); + + { + SpinLockGuard _(m_write_lock); + for (; written < buffer.size(); written++) + if (!putchar(buffer[written])) + break; + update_cursor(); + } + + if (can_write_impl()) + epoll_notify(EPOLLOUT); + return written; }