Index: mojo/public/c/system/data_pipe.h |
diff --git a/mojo/public/c/system/data_pipe.h b/mojo/public/c/system/data_pipe.h |
index 4a7dcef6e3622251534825e7f6dec4ba5c2df9c1..8210c35a0b58b6bc53c79fd8ff7bc5b975ba1a93 100644 |
--- a/mojo/public/c/system/data_pipe.h |
+++ b/mojo/public/c/system/data_pipe.h |
@@ -56,15 +56,20 @@ MOJO_STATIC_ASSERT(sizeof(MojoCreateDataPipeOptions) == 16, |
// |MOJO_WRITE_DATA_FLAG_NONE| - No flags; default mode. |
// |MOJO_WRITE_DATA_FLAG_ALL_OR_NONE| - Write either all the elements |
// requested or none of them. |
+// |MOJO_WRITE_DATA_FLAG_CLEAR_SIGNAL| - If writing fails due to a lack of |
+// available capacity, clear the |MOJO_HANDLE_SIGNAL_WRITABLE| signal |
+// until more capacity becomes available. |
typedef uint32_t MojoWriteDataFlags; |
#ifdef __cplusplus |
const MojoWriteDataFlags MOJO_WRITE_DATA_FLAG_NONE = 0; |
const MojoWriteDataFlags MOJO_WRITE_DATA_FLAG_ALL_OR_NONE = 1 << 0; |
+const MojoWriteDataFlags MOJO_WRITE_DATA_FLAG_CLEAR_SIGNAL = 1 << 1; |
#else |
#define MOJO_WRITE_DATA_FLAG_NONE ((MojoWriteDataFlags)0) |
#define MOJO_WRITE_DATA_FLAG_ALL_OR_NONE ((MojoWriteDataFlags)1 << 0) |
+#define MOJO_WRITE_DATA_FLAG_CLEAR_SIGNAL ((MojoWriteDataFlags)1 << 1) |
#endif |
// |MojoReadDataFlags|: Used to specify different modes to |MojoReadData()| and |
@@ -81,6 +86,9 @@ const MojoWriteDataFlags MOJO_WRITE_DATA_FLAG_ALL_OR_NONE = 1 << 0; |
// |MOJO_READ_DATA_FLAG_PEEK| - Read elements without removing them. For use |
// with |MojoReadData()| only. Mutually exclusive with |
// |MOJO_READ_DATA_FLAG_DISCARD| and |MOJO_READ_DATA_FLAG_QUERY|. |
+// |MOJO_READ_DATA_FLAG_CLEAR_SIGNAL| - If reading fails due to a lack of |
yzshen1
2017/03/11 00:44:58
An idea for your consideration:
One thing is that
Ken Rockot(use gerrit already)
2017/03/12 22:24:13
Argued with myself for a while over this. I think
|
+// available data, clear the |MOJO_HANDLE_SIGNAL_READABLE| signal until |
+// more data arrives. |
typedef uint32_t MojoReadDataFlags; |
@@ -90,12 +98,14 @@ const MojoReadDataFlags MOJO_READ_DATA_FLAG_ALL_OR_NONE = 1 << 0; |
const MojoReadDataFlags MOJO_READ_DATA_FLAG_DISCARD = 1 << 1; |
const MojoReadDataFlags MOJO_READ_DATA_FLAG_QUERY = 1 << 2; |
const MojoReadDataFlags MOJO_READ_DATA_FLAG_PEEK = 1 << 3; |
+const MojoReadDataFlags MOJO_READ_DATA_FLAG_CLEAR_SIGNAL = 1 << 4; |
#else |
#define MOJO_READ_DATA_FLAG_NONE ((MojoReadDataFlags)0) |
#define MOJO_READ_DATA_FLAG_ALL_OR_NONE ((MojoReadDataFlags)1 << 0) |
#define MOJO_READ_DATA_FLAG_DISCARD ((MojoReadDataFlags)1 << 1) |
#define MOJO_READ_DATA_FLAG_QUERY ((MojoReadDataFlags)1 << 2) |
#define MOJO_READ_DATA_FLAG_PEEK ((MojoReadDataFlags)1 << 3) |
+#define MOJO_READ_DATA_FLAG_CLEAR_SIGNAL ((MojoReadDataFlags)1 << 4) |
#endif |
#ifdef __cplusplus |