From e4cfa9a68686e4f9e78543312224874f089f4723 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 6 Jun 2019 10:54:26 +0200 Subject: [PATCH] FIFO: Raise SIGPIPE in processes that write() to a broken pipe. --- Kernel/FileSystem/FIFO.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Kernel/FileSystem/FIFO.cpp b/Kernel/FileSystem/FIFO.cpp index 261a3d2d9d..344dcee87e 100644 --- a/Kernel/FileSystem/FIFO.cpp +++ b/Kernel/FileSystem/FIFO.cpp @@ -1,6 +1,8 @@ #include #include #include +#include +#include #include #include @@ -107,8 +109,10 @@ ssize_t FIFO::read(FileDescriptor&, byte* buffer, ssize_t size) ssize_t FIFO::write(FileDescriptor&, const byte* buffer, ssize_t size) { - if (!m_readers) + if (!m_readers) { + current->process().send_signal(SIGPIPE, ¤t->process()); return -EPIPE; + } #ifdef FIFO_DEBUG dbgprintf("fifo: write(%p, %u)\n", buffer, size); #endif