33 Commits

Author SHA1 Message Date
Yonas Habteab
186571ec99 Refresh the states & types bitsets whenever states & types attrs change
Since the types and states attributes are user configurable and allowed to change at
runtime, we need to update the actual filter bitsets whenever these attributes change.
Otherwise, the filter bitsets would be stale and not reflect their current state.
2025-06-06 13:31:44 +02:00
Julian Brost
abe2dfa763 Replace EventuallyAtomic with AtomicOrLocked which falls back to a mutex
Apparently there was a reason for making the members of generated classes
atomic. However, this was only done for some types, others were still accessed
using non-atomic operations. For members of type T::Ptr (i.e.  intrusive_ptr<T>),
this can result in a double free when multiple threads access the same variable
and at least one of them writes to the variable.

This commit makes use of std::atomic<T> for more T (it removes the additional
constraint sizeof(T) <= sizeof(void*)) and uses a type including a mutex for
load and store operations as a fallback.
2022-05-03 12:02:46 +02:00
Noah Hilverling
73e0d6e61b Icinga DB: Make sure object relationships are handled correctly 2021-11-12 13:34:57 +01:00
Alexander A. Klimov
bbe0f2d8c4 mkclass: make .ti class members atomic if possible
... not to have to lock the objects while setting attributes.
2020-07-07 18:24:06 +02:00
Michael Friedrich
d14a88235d Replace Copyright header with a short version, part I
CLion -> replace in path
2019-02-25 14:48:22 +01:00
Michael Friedrich
44c3b83769 icinga.com: Update '*.ti' 2018-10-18 09:30:00 +02:00
Michael Insel
158ae2188e Change copyright header for 2018 2018-01-02 12:08:55 +01:00
Gunnar Beutner
7ca485f63c Improve validation for attributes which must not be 'null' 2017-05-30 14:47:28 +02:00
Michael Friedrich
b7caf0820d Ensure that *.icinga.com is used everywhere
fixes #13897
fixes #13277
2017-01-10 17:19:12 +01:00
Gunnar Beutner
b7a1b58069 Improve performance for type lookups
fixes #12448
2016-08-16 11:02:33 +02:00
Michael Friedrich
743a726752 state_filters_real shouldn't be visible in the API
fixes #12171
2016-07-19 20:09:39 +02:00
Michael Friedrich
14fdb794e2 Allow strings in state and type filters (config, API)
fixes #11445
2016-06-23 14:52:45 +02:00
Gunnar Beutner
e3f1c1ec6f Make sure timestamps are formatted as integers in macro strings
refs #11483
2016-06-21 11:29:12 +02:00
Gunnar Beutner
599929b0f6 Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
Gunnar Beutner
d01f09f3ef Hide internal attributes in the API
fixes #10393
2015-10-20 08:25:10 +02:00
Michael Friedrich
6cc4f85c66 Disallow modify attribute for certain object attributes
fixes #9095
2015-10-16 12:44:08 +02:00
Gunnar Beutner
1a6b41787a Implement joins for status queries
fixes #10060
2015-09-22 09:45:23 +02:00
Gunnar Beutner
f45f6ccd82 Implement support for tracking dependencies between config objects
refs #9096
2015-08-25 13:54:05 +02:00
Michael Friedrich
d7970f5bb1 Implement modified attributes v2
refs #9081
refs #9093
2015-08-15 20:07:10 +02:00
Gunnar Beutner
ec7224e3ed Generate C++ code for type validators
fixes #7709
fixes #8867
2015-03-27 07:59:27 +01:00
Michael Friedrich
78bfd0204c Update copyright year 2015-01-22 12:00:23 +01:00
Gunnar Beutner
478f03b49a Replace boost::shared_ptr with boost::intrusive_ptr
refs #7622
2014-11-09 16:54:41 +01:00
Gunnar Beutner
92896311f3 Implement support for C/C++ comments in the TI compiler
fixes #5018
2014-10-17 19:44:31 +02:00
Gunnar Beutner
7e83247508 Make "enable_notifications" a config attribute
fixes #6671
2014-07-10 10:59:22 +02:00
Gunnar Beutner
f9075a0d0e Change default value for enable_notifications
fixes #6681
2014-07-09 15:23:43 +02:00
Gunnar Beutner
632026cd9f Rename C++ header files.
Fixes #6291
2014-05-25 16:27:14 +02:00
Michael Friedrich
601e10cb46 Use CustomVarObject instead of DynamicObject for all libicinga objects.
Fixes #6187
2014-05-19 17:57:58 +02:00
Michael Friedrich
01a0496988 Add AddGroup() for host, service, user objects.
Refs #6105
2014-05-01 23:53:08 +02:00
Gunnar Beutner
606834e190 Rename the notification attributes.
Fixes #5906
2014-04-09 10:25:23 +02:00
Gunnar Beutner
0fdb9ea21b Implement attributes for some well-known macros and allow macro recursion.
Refs #5856
Fixes #5959
2014-04-08 13:23:24 +02:00
Gunnar Beutner
cea15e11dc Implement new state and type filters.
Fixes #5906
2014-04-07 14:00:18 +02:00
Gunnar Beutner
24d018a058 Fix short_name and display_name properties.
Refs #4973
2013-10-30 09:55:00 +01:00
Gunnar Beutner
db4b3b78d6 Implement class compiler.
Refs #4963
2013-10-28 14:27:36 +01:00