Skip to content

kernel: Remove dependency on CScheduler

By defining a virtual interface class for the scheduler client, users of the kernel can now define their own event consuming infrastructure, without having to spawn threads or rely on the scheduler design.

Removing CScheduler also allows removing the thread and exception modules from the kernel library.

To make the CMainSignals class easier to use from a kernel library perspective, remove its global instantiation and adopt RAII practices.

Renames CMainSignals to ValidationSignals, which more accurately describes its purpose and scope.

Also make the ValidationSignals in the ChainstateManager and CTxMemPool` optional. This could be useful in the future for using or testing these classes without having to instantiate any form of signal handling.


This PR is part of the libbitcoinkernel project. It improves the kernel API and removes two modules from the kernel library.

Merge request reports

Loading