Icinga / icinga-core

Icinga 1.x, the old core (EOL 31.12.2018)
GNU General Public License v2.0
45 stars 27 forks source link

[dev.icinga.com #8140] Add Check Result List Mutex for NEB modules #1536

Closed icinga-migration closed 9 years ago

icinga-migration commented 9 years ago

This issue has been migrated from Redmine: https://dev.icinga.com/issues/8140

Created by jrhunt on 2014-12-24 21:31:47 +00:00

Assignee: jrhunt Status: Resolved (closed on 2015-01-24 14:50:02 +00:00) Target Version: 1.13 Last Update: 2015-02-15 01:11:58 +00:00 (in Redmine)


I have attached a patch that provides a new set of functions for registering file descriptors to be closed on fork().

First, a little history:

My team and I have developed a custom event broker module that understands NSCA wire protocol. Unlike the standalone NSCA daemon, this broker bypasses the command pipe and directly injects received results into the check results list. To deal with the inevitable corruption wherein the main thread performs a non-atomic update to the linked-list structure at the same time as our event broker, we had to patch Icinga to protect list access (in both add_check_result_to_list() and read_check_result()) with a mutex.

This is that patch.

Attachments

Changesets

2015-01-24 14:41:20 +00:00 by (unknown) 13c0e2b221606c71b52ebb11a92e0f1d9c4bddf3

Protect Check Results List with a mutex

This will allow other threads (i.e. event brokers) to inject
messages directly into the result queue, without memory corruption problems.

fixes #8140

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>

2015-01-24 14:47:57 +00:00 by (unknown) 99f7339b89a634f26fe728ecdf14372d7e0ab450

Update AUTHORS

refs #8139
refs #8140
icinga-migration commented 9 years ago

Updated by mfriedrich on 2015-01-24 14:22:46 +00:00

Thanks, looks resonable. Applying it for 1.13.

icinga-migration commented 9 years ago

Updated by mfriedrich on 2015-01-24 14:26:06 +00:00

https://github.com/filefrog/icinga-iris

icinga-migration commented 9 years ago

Updated by mfriedrich on 2015-01-24 14:40:54 +00:00

Next time, please send a git formatted patch - yours is malformatted.

git format-patch -1
icinga-migration commented 9 years ago

Updated by mfriedrich on 2015-01-24 14:46:51 +00:00

icinga-migration commented 9 years ago

Updated by Anonymous on 2015-01-24 14:50:02 +00:00

Applied in changeset 13c0e2b221606c71b52ebb11a92e0f1d9c4bddf3.

icinga-migration commented 9 years ago

Updated by mfriedrich on 2015-02-15 01:11:58 +00:00