Skip to content

Icinga DB Boost.Signal2 handlers: reduce malloc(3) #10276

Open
@Al2Klimov

Description

@Al2Klimov

Is your feature request related to a problem? Please describe.

Icinga DB Boost.Signal2 handlers, which btw block its callers on every cluster message, assemble malloc(3)-heavy String[]s and then pass them to the I/O loop via fire and forget.

Describe the solution you'd like

Replace String[] with T[] where T is a union/variant of String|const char*. The latter would re-use constant C string literals (as in "icinga:foobar") compiled in the program every time.

Describe alternatives you've considered

Handlers just collect all data needed for a message and put a callback in a workqueue (but maybe not directly the I/O loop itself).

Additional context

ref/NC/820479

Metadata

Metadata

Assignees

Labels

core/qualityImprove code, libraries, algorithms, inline docsref/NC

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions