[lldb] [MainLoop] Support multiple callbacks per signal
authorMichał Górny <mgorny@moritz.systems>
Tue, 13 Apr 2021 22:54:08 +0000 (00:54 +0200)
committerMichał Górny <mgorny@moritz.systems>
Wed, 21 Apr 2021 10:18:20 +0000 (12:18 +0200)
commit08ce2ba518031425643ce3a4a0476f770c9b8dcd
treec5ef5ab049caab8bd07126fd9e1904a456331783
parentd860bf2d0e9ba6df12dcc2fc7508526e388d2a29
[lldb] [MainLoop] Support multiple callbacks per signal

Support registering multiple callbacks for a single signal.  This is
necessary to support multiple co-existing native process instances, with
separate SIGCHLD handlers.

The system signal handler is registered on first request, additional
callback are added on subsequent requests.  The system signal handler
is removed when last callback is unregistered.

Differential Revision: https://reviews.llvm.org/D100418
lldb/include/lldb/Host/MainLoop.h
lldb/source/Host/common/MainLoop.cpp
lldb/unittests/Host/MainLoopTest.cpp