summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.asciidoc3
-rw-r--r--src/buffer_utils.cc2
2 files changed, 5 insertions, 0 deletions
diff --git a/README.asciidoc b/README.asciidoc
index 822fb008..f76330b4 100644
--- a/README.asciidoc
+++ b/README.asciidoc
@@ -1100,6 +1100,9 @@ existing hooks are:
* `BufWritePost`: Executed just after a buffer is written, filename is
used for filtering.
* `BufClose`: Executed when a buffer is deleted, while it is still valid.
+ * `BufOpenFifo`: Executed when a buffer opens a fifo.
+ * `BufReadFifo`: Executed after some data has been red from a fifo and
+ inserted in the buffer.
* `BufCloseFifo`: Executed when a fifo buffer closes its fifo file descriptor
either because the buffer is being deleted, or because the writing
end has been closed.
diff --git a/src/buffer_utils.cc b/src/buffer_utils.cc
index d208386e..9f8f8860 100644
--- a/src/buffer_utils.cc
+++ b/src/buffer_utils.cc
@@ -155,6 +155,8 @@ Buffer* create_fifo_buffer(String name, int fd, bool scroll)
while (--loops and count > 0 and
select(fifo+1, &rfds, nullptr, nullptr, &tv) == 1);
+ buffer->run_hook_in_own_context("BufReadFifo", buffer->name());
+
if (count <= 0)
buffer->values().erase(fifo_watcher_id); // will delete this
}), std::move(watcher_deleter));