[all-commits] [llvm/llvm-project] c74c17: [lldb] Use WSAEventSelect for MainLoop polling on ...

Pavel Labath via All-commits all-commits at lists.llvm.org
Fri Aug 19 04:25:53 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c74c17f37aa9360492675e2aae3de99539eaf465
      https://github.com/llvm/llvm-project/commit/c74c17f37aa9360492675e2aae3de99539eaf465
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2022-08-19 (Fri, 19 Aug 2022)

  Changed paths:
    M lldb/include/lldb/Host/MainLoop.h
    M lldb/include/lldb/Host/MainLoopBase.h
    A lldb/include/lldb/Host/posix/MainLoopPosix.h
    A lldb/include/lldb/Host/windows/MainLoopWindows.h
    M lldb/source/Host/CMakeLists.txt
    R lldb/source/Host/common/MainLoop.cpp
    A lldb/source/Host/common/MainLoopBase.cpp
    A lldb/source/Host/posix/MainLoopPosix.cpp
    A lldb/source/Host/windows/MainLoopWindows.cpp

  Log Message:
  -----------
  [lldb] Use WSAEventSelect for MainLoop polling on windows

This patch switches the MainLoop class to use the WSAEventSelect
mechanism to wait for multiple sockets to become readable. The
motivation for doing that is that this allows us to wait for other kinds
of events as well (as long as they can be converted to WSAEvents). This
will allow us to avoid (abstract away) pipe-based multiplexing
mechanisms in the generic code, since pipes cannot be combined with
sockets on windows.

Since the windows implementation will now look completely different than
the posix (file descriptor-based) implementations, I have split the
MainLoop class into two (MainLoopPosix and MainLoopWindows), with the
common code going into MainLoopBase.

Differential Revision: https://reviews.llvm.org/D131159




More information about the All-commits mailing list