Index: mojo/edk/system/channel_endpoint_id.cc |
diff --git a/mojo/edk/system/channel_endpoint_id.cc b/mojo/edk/system/channel_endpoint_id.cc |
index edbf3352f0771468160d4cc41eb8159bcdd65957..3c51cfe144ee6b17d2588a903646ea9161b50f3f 100644 |
--- a/mojo/edk/system/channel_endpoint_id.cc |
+++ b/mojo/edk/system/channel_endpoint_id.cc |
@@ -4,12 +4,20 @@ |
#include "mojo/edk/system/channel_endpoint_id.h" |
+#include "base/compiler_specific.h" |
+ |
namespace mojo { |
namespace system { |
+STATIC_CONST_MEMBER_DEFINITION const uint32_t |
+ ChannelEndpointId::kRemotelyAllocatedFlag; |
+STATIC_CONST_MEMBER_DEFINITION const uint32_t |
+ ChannelEndpointId::kLocallyAllocatedMask; |
+ |
ChannelEndpointId LocalChannelEndpointIdGenerator::GetNext() { |
ChannelEndpointId rv = next_channel_endpoint_id_; |
- next_channel_endpoint_id_.value_++; |
+ next_channel_endpoint_id_.value_ = (next_channel_endpoint_id_.value_ + 1) & |
+ ChannelEndpointId::kLocallyAllocatedMask; |
// Skip over the invalid value, in case we wrap. |
if (!next_channel_endpoint_id_.is_valid()) |
next_channel_endpoint_id_.value_++; |