| 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 |