Author: vharron Date: Mon May 25 22:08:05 2015 New Revision: 238173 URL: http://llvm.org/viewvc/llvm-project?rev=238173&view=rev Log: Print port number that lldb-server binds to in platform mode
If binding to port 0 is selected, the actual port is printed. This improves the reliability of platform startup by ensuring that a free port can be found. TEST PLAN ./lldb-server platform --listen *:0 Listening for a connection from <port-number>... Will appear on stdout (with other stuff potentially) Modified: lldb/trunk/include/lldb/Symbol/Type.h lldb/trunk/source/Symbol/Type.cpp lldb/trunk/tools/lldb-server/lldb-platform.cpp Modified: lldb/trunk/include/lldb/Symbol/Type.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Symbol/Type.h?rev=238173&r1=238172&r2=238173&view=diff ============================================================================== --- lldb/trunk/include/lldb/Symbol/Type.h (original) +++ lldb/trunk/include/lldb/Symbol/Type.h Mon May 25 22:08:05 2015 @@ -305,7 +305,9 @@ protected: ClangASTType m_clang_type; struct Flags { - ResolveState clang_type_resolve_state : 2; + // clang_type_resolve_state is a ResolveState enum + // using unsigned type here to work around a very noisy gcc warning + unsigned clang_type_resolve_state : 2; bool is_complete_objc_class : 1; } m_flags; Modified: lldb/trunk/source/Symbol/Type.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/Type.cpp?rev=238173&r1=238172&r2=238173&view=diff ============================================================================== --- lldb/trunk/source/Symbol/Type.cpp (original) +++ lldb/trunk/source/Symbol/Type.cpp Mon May 25 22:08:05 2015 @@ -101,7 +101,7 @@ Type::Type m_decl (decl), m_clang_type (clang_type) { - m_flags.clang_type_resolve_state = (clang_type ? clang_type_resolve_state : eResolveStateUnresolved); + m_flags.SetResolveState(clang_type ? clang_type_resolve_state : eResolveStateUnresolved); m_flags.is_complete_objc_class = false; } @@ -118,7 +118,7 @@ Type::Type () : m_decl (), m_clang_type () { - m_flags.clang_type_resolve_state = eResolveStateUnresolved; + m_flags.SetResolveState(eResolveStateUnresolved); m_flags.is_complete_objc_class = false; } @@ -505,7 +505,7 @@ Type::ResolveClangType (ResolveState cla if (encoding_clang_type.IsValid()) { m_clang_type = encoding_clang_type; - m_flags.clang_type_resolve_state = encoding_type->m_flags.clang_type_resolve_state; + m_flags.SetResolveState(encoding_type->m_flags.clang_type_resolve_state); } } break; @@ -594,7 +594,7 @@ Type::ResolveClangType (ResolveState cla // Check if we have a forward reference to a class/struct/union/enum? if (m_clang_type.IsValid() && m_flags.clang_type_resolve_state < clang_type_resolve_state) { - m_flags.clang_type_resolve_state = eResolveStateFull; + m_flags.SetResolveState(eResolveStateFull); if (!m_clang_type.IsDefined ()) { // We have a forward declaration, we need to resolve it to a complete definition. Modified: lldb/trunk/tools/lldb-server/lldb-platform.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/lldb-platform.cpp?rev=238173&r1=238172&r2=238173&view=diff ============================================================================== --- lldb/trunk/tools/lldb-server/lldb-platform.cpp (original) +++ lldb/trunk/tools/lldb-server/lldb-platform.cpp Mon May 25 22:08:05 2015 @@ -253,7 +253,6 @@ main_platform (int argc, char *argv[]) std::unique_ptr<Socket> listening_socket_up; Socket *socket = nullptr; - printf ("Listening for a connection from %s...\n", listen_host_port.c_str()); const bool children_inherit_listen_socket = false; // the test suite makes many connections in parallel, let's not miss any. @@ -267,6 +266,7 @@ main_platform (int argc, char *argv[]) exit(socket_error); } listening_socket_up.reset(socket); + printf ("Listening for a connection from %u...\n", listening_socket_up->GetLocalPortNumber()); do { GDBRemoteCommunicationServerPlatform platform; _______________________________________________ lldb-commits mailing list lldb-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits