diff --git a/Kernel/MasterPTY.cpp b/Kernel/MasterPTY.cpp index 079f630afb..caacf08c95 100644 --- a/Kernel/MasterPTY.cpp +++ b/Kernel/MasterPTY.cpp @@ -45,3 +45,8 @@ void MasterPTY::on_slave_write(const byte* data, size_t size) { m_buffer.write(data, size); } + +bool MasterPTY::can_write_from_slave() const +{ + return m_buffer.bytes_in_write_buffer() < 4096; +} diff --git a/Kernel/MasterPTY.h b/Kernel/MasterPTY.h index c7ba83ba2b..cc375feab6 100644 --- a/Kernel/MasterPTY.h +++ b/Kernel/MasterPTY.h @@ -20,6 +20,7 @@ public: unsigned index() const { return m_index; } String pts_name() const; void on_slave_write(const byte*, size_t); + bool can_write_from_slave() const; private: // ^CharacterDevice diff --git a/Kernel/SlavePTY.cpp b/Kernel/SlavePTY.cpp index c8fa110746..226be88b9c 100644 --- a/Kernel/SlavePTY.cpp +++ b/Kernel/SlavePTY.cpp @@ -31,7 +31,7 @@ void SlavePTY::on_tty_write(const byte* data, size_t size) m_master.on_slave_write(data, size); } -bool SlavePTY::can_write(Process& process) const +bool SlavePTY::can_write(Process&) const { - return m_master.can_write(process); + return m_master.can_write_from_slave(); }