OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "mojo/system/local_message_pipe_endpoint.h" | 5 #include "mojo/system/local_message_pipe_endpoint.h" |
6 | 6 |
7 #include <string.h> | 7 #include <string.h> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "mojo/system/dispatcher.h" | 10 #include "mojo/system/dispatcher.h" |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 dispatchers->swap(*queued_dispatchers); | 101 dispatchers->swap(*queued_dispatchers); |
102 } else { | 102 } else { |
103 enough_space = false; | 103 enough_space = false; |
104 } | 104 } |
105 } | 105 } |
106 } else { | 106 } else { |
107 if (num_dispatchers) | 107 if (num_dispatchers) |
108 *num_dispatchers = 0; | 108 *num_dispatchers = 0; |
109 } | 109 } |
110 | 110 |
111 message = NULL; | 111 message = nullptr; |
112 | 112 |
113 if (enough_space || (flags & MOJO_READ_MESSAGE_FLAG_MAY_DISCARD)) { | 113 if (enough_space || (flags & MOJO_READ_MESSAGE_FLAG_MAY_DISCARD)) { |
114 message_queue_.DiscardMessage(); | 114 message_queue_.DiscardMessage(); |
115 | 115 |
116 // Now it's empty, thus no longer readable. | 116 // Now it's empty, thus no longer readable. |
117 if (message_queue_.IsEmpty()) { | 117 if (message_queue_.IsEmpty()) { |
118 // It's currently not possible to wait for non-readability, but we should | 118 // It's currently not possible to wait for non-readability, but we should |
119 // do the state change anyway. | 119 // do the state change anyway. |
120 waiter_list_.AwakeWaitersForStateChange(GetHandleSignalsState()); | 120 waiter_list_.AwakeWaitersForStateChange(GetHandleSignalsState()); |
121 } | 121 } |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 void LocalMessagePipeEndpoint::RemoveWaiter(Waiter* waiter, | 167 void LocalMessagePipeEndpoint::RemoveWaiter(Waiter* waiter, |
168 HandleSignalsState* signals_state) { | 168 HandleSignalsState* signals_state) { |
169 DCHECK(is_open_); | 169 DCHECK(is_open_); |
170 waiter_list_.RemoveWaiter(waiter); | 170 waiter_list_.RemoveWaiter(waiter); |
171 if (signals_state) | 171 if (signals_state) |
172 *signals_state = GetHandleSignalsState(); | 172 *signals_state = GetHandleSignalsState(); |
173 } | 173 } |
174 | 174 |
175 } // namespace system | 175 } // namespace system |
176 } // namespace mojo | 176 } // namespace mojo |
OLD | NEW |