Index: util/test/multiprocess.h |
diff --git a/util/test/multiprocess.h b/util/test/multiprocess.h |
index 371d23f1d22421495be449f56da4f4bb7868cab4..781ec7c13a2fe88eeb6c60e4d26ef0760b5f5268 100644 |
--- a/util/test/multiprocess.h |
+++ b/util/test/multiprocess.h |
@@ -116,6 +116,10 @@ class Multiprocess { |
//! This method may be called by either the parent or the child process. |
//! Anything written to the write pipe in the partner process will appear |
//! on the this file descriptor in this process. |
+ //! |
+ //! It is an error to call this after CloseReadPipe() has been called. |
+ //! |
+ //! \return The read pipe’s file descriptor. |
int ReadPipeFD() const; |
//! \brief Returns the write pipe’s file descriptor. |
@@ -123,8 +127,26 @@ class Multiprocess { |
//! This method may be called by either the parent or the child process. |
//! Anything written to this file descriptor in this process will appear on |
//! the read pipe in the partner process. |
+ //! |
+ //! It is an error to call this after CloseWritePipe() has been called. |
+ //! |
+ //! \return The write pipe’s file descriptor. |
int WritePipeFD() const; |
+ //! \brief Closes the read pipe. |
+ //! |
+ //! This method may be called by either the parent or the child process. An |
+ //! attempt to write to the write pipe in the partner process will fail with |
+ //! `EPIPE` or `SIGPIPE`. ReadPipeFD() must not be called after this. |
+ void CloseReadPipe(); |
+ |
+ //! \brief Closes the write pipe. |
+ //! |
+ //! This method may be called by either the parent or the child process. An |
+ //! attempt to read from the read pipe in the partner process will indicate |
+ //! end-of-file. WritePipeFD() must not be called after this. |
+ void CloseWritePipe(); |
+ |
private: |
//! \brief Runs the parent side of the test. |
//! |