Commit graph

2125 commits

Author SHA1 Message Date
Gunnar Beutner
d6fcc33be4 Refactor the Process class. Remove the Windows implementation for now. 2013-02-13 11:39:24 +01:00
Gunnar Beutner
800750c415 Build fix. 2013-02-13 07:48:08 +01:00
Gunnar Beutner
b0d8c40d20 Process: repeat read() until we get EAGAIN. 2013-02-13 07:39:26 +01:00
Gunnar Beutner
a80872b314 Use pipe2() instead of pipe() when possible. 2013-02-13 07:33:14 +01:00
Gunnar Beutner
2893134940 Make Application::ProcessEvents() static. 2013-02-13 07:25:36 +01:00
Gunnar Beutner
cf920cd0f2 Wait for child processes before getting new tasks from the list. 2013-02-11 23:18:26 +01:00
Gunnar Beutner
2501ff805a Remove Host::OnInitCompleted and clean up the classes' constructors.
Fixes #3678
2013-02-11 14:01:52 +01:00
Gunnar Beutner
f6f771a3f6 Remove support for _DEBUG env var.
Fixes #3688
2013-02-11 13:46:02 +01:00
Gunnar Beutner
5fab16a223 Fixed uninitialized variable bug. 2013-02-11 06:38:30 +01:00
Gunnar Beutner
a3f03928d7 Process: use read() on *NIX. 2013-02-11 00:05:11 +01:00
Gunnar Beutner
bddd9ebf0b Implemented poll() support for Process tasks.
Fixes #3035
2013-02-10 23:31:11 +01:00
Gunnar Beutner
7ce98ed374 Use multiple worker threads for Process tasks. 2013-02-10 22:29:42 +01:00
Gunnar Beutner
aa2322abbb Fixed deadlock in Process::WorkerThreadProc. 2013-02-10 21:53:08 +01:00
Gunnar Beutner
67aef452e5 Windows build fix. 2013-02-10 19:09:35 +01:00
Gunnar Beutner
bd80f4597e Windows build fix. 2013-02-10 18:57:23 +01:00
Gunnar Beutner
4e9afd7c2c Build fix V2. 2013-02-10 17:44:03 +01:00
Gunnar Beutner
8667bba7e0 Build fix for *NIX systems with a non-GNU libc. 2013-02-10 17:15:18 +01:00
Gunnar Beutner
0e7a3c67ec Bugfixes for the Process class. 2013-02-10 12:45:39 +01:00
Gunnar Beutner
fc6df0ecbd Fixed 1 second delay for child processes. 2013-02-10 01:35:40 +01:00
Gunnar Beutner
ee37e0cace Implemented environment-based macros. 2013-02-09 23:02:33 +01:00
Gunnar Beutner
686191103f Fixed spelling mistake. 2013-02-09 18:43:11 +01:00
Gunnar Beutner
cf92cd83b3 Implement some dynamic macros.
Move check-specific code to service-check.cpp
2013-02-09 18:39:43 +01:00
Gunnar Beutner
3ab071fbcb Made the debug log level slightly less spammy. 2013-02-09 10:55:54 +01:00
Gunnar Beutner
85e469019f Windows bugfixes for Utility::DirName and Utility::Glob. 2013-02-09 10:43:11 +01:00
Gunnar Beutner
6c23481a55 Bugfix: Local events for changed attributes aren't processed at transaction commit time.
Fixes #3605
2013-02-08 23:40:28 +01:00
Gunnar Beutner
580f2e1fcc Use Host constructor/destructor/OnAttributeChange instead of OnCommitted/OnRemoved for Host->services
Fixes #3612
2013-02-08 21:05:08 +01:00
Gunnar Beutner
7526ee3a9e Bugfix: assert in Timer::ProcessTimers. 2013-02-08 10:39:54 +01:00
Gunnar Beutner
ad04a02153 Bugfix: Fixed incorrect variable name. 2013-02-08 10:30:32 +01:00
Gunnar Beutner
513b3d6820 Bugfix: Don't leak lock file's fd into child processes. 2013-02-08 10:23:01 +01:00
Gunnar Beutner
601c7d25d1 Implement sub-second check intervals.
Fixes #3656
2013-02-08 10:17:41 +01:00
Gunnar Beutner
dd9c7b9846 Flush logger stream after writing 'clear color' ANSI code. 2013-02-08 09:40:19 +01:00
Gunnar Beutner
607915c49a Windows: Fixed crash in Object::~Object(). 2013-02-07 22:13:34 +01:00
Gunnar Beutner
c04cfb9dac Make sure that unnamed items in a dictionary are always in the order they were inserted in. 2013-02-07 09:36:17 +01:00
Gunnar Beutner
f64bdc8788 Removed obsolete timeperiod code. 2013-02-06 12:59:56 +01:00
Gunnar Beutner
b887f14d96 Use BOOST_THROW_EXCEPTION instead of boost::throw_exception()
Fixes #3636
2013-02-06 12:51:12 +01:00
Gunnar Beutner
e047e06fc8 Finish implementing %validator.
Fixes #3634
2013-02-06 12:09:50 +01:00
Gunnar Beutner
eadb309dab Bugfix: Add missing parenthesis in function call. 2013-02-06 11:39:32 +01:00
Gunnar Beutner
53705d16dc Implement AsyncTask::Wait() and make completion callbacks optional. 2013-02-06 10:56:06 +01:00
Gunnar Beutner
7a150d2c29 Validate config objects before trying to activate them.
Fixes #3619
2013-02-05 13:06:42 +01:00
Gunnar Beutner
383d2369b1 Bugfix: Make sure Utility::Glob return false if no matching files were found. 2013-02-03 01:30:19 +01:00
Gunnar Beutner
5774792a23 Implemented --version and made --help output prettier. 2013-02-03 01:21:11 +01:00
Gunnar Beutner
dbf762e771 Use boost::program_options to parse arguments.
Fixes #3536
Fixes #3184
2013-02-02 23:22:27 +01:00
Gunnar Beutner
f2e17bdd09 Fixed compiler warnings (-Wextra). 2013-02-02 22:13:54 +01:00
Gunnar Beutner
5438c86e76 Throw exception in Utility::ToDouble/Utility::ToLong
Fixes #3617
2013-02-02 20:19:00 +01:00
Gunnar Beutner
b74c2c8a68 Removed the old-style validation code. 2013-02-02 20:03:30 +01:00
Gunnar Beutner
33aba14197 Implement type keyword in the config compiler
Fixes #3616
2013-02-02 14:28:11 +01:00
Gunnar Beutner
18f935cfa2 Added missing const qualifiers. 2013-02-02 09:19:49 +01:00
Gunnar Beutner
11cf07fa9c Config: implement support for wildcard includes
Fixes #2771
2013-02-02 00:32:18 +01:00
Gunnar Beutner
04fd703e6a Windows build fix. 2013-02-01 23:10:48 +01:00
Gunnar Beutner
00b827d5cf Implement search dirs for #include.
Fixes #3599
2013-02-01 22:44:58 +01:00
Gunnar Beutner
66f28ae02b Build fix for Windows. 2013-02-01 19:36:47 +01:00
Gunnar Beutner
05d0dc5683 Display "debug message" for exceptions (in addition to SIGABRT). 2013-02-01 19:11:15 +01:00
Gunnar Beutner
8a469e190f Fixed some more compiler warnings (when using -Wall). 2013-02-01 19:02:07 +01:00
Gunnar Beutner
ee6ba4e5e9 Bug: clearing attributes should only reset their value and tx rather than deleting them entirely
Fixes #3604
2013-02-01 19:01:51 +01:00
Gunnar Beutner
7835563e03 Fixed some compiler warnings. 2013-02-01 15:44:03 +01:00
Gunnar Beutner
df1199f206 Updated messages in the SIGABRT handler. 2013-02-01 14:46:06 +01:00
Gunnar Beutner
0ca8012079 Made warning and critical messages bold. 2013-02-01 14:21:11 +01:00
Gunnar Beutner
886fd3a5b8 Implemented colored log messages. 2013-02-01 14:12:24 +01:00
Gunnar Beutner
f5a3dc4d84 Config: Warn about unknown attributes. 2013-02-01 14:11:22 +01:00
Gunnar Beutner
e928b1fabf Bugfix: Missing parent object causes assert in ReplicationComponent::Stop
Fixes #3601
2013-02-01 11:46:52 +01:00
Gunnar Beutner
24e2d1d3f2 Use boost::lexical_cast instead of stringstreams. 2013-01-31 10:10:51 +01:00
Gunnar Beutner
e967d931fd Fixed building with --disable-shared. 2013-01-30 23:52:11 +01:00
Gunnar Beutner
b27465feae Fixed incorrect parameters for memset(). 2013-01-30 20:49:25 +01:00
Gunnar Beutner
ff0e6d91d2 Move exception_handler into libbase. Add handler for SIGABRT.
Fixes #3590
2013-01-30 11:51:15 +01:00
Gunnar Beutner
c9bcc5c8bd Bugfix: Loading state files was broken.
Fixes #3562
2013-01-30 10:53:06 +01:00
Gunnar Beutner
7c65757219 Implement Utility::NewUUID().
Fixes #3589
2013-01-30 09:08:48 +01:00
Gunnar Beutner
08bb9470b3 Updated VS project files. 2013-01-29 15:47:38 +01:00
Gunnar Beutner
07a1249a97 Add some more missing files. 2013-01-29 15:47:38 +01:00
Gunnar Beutner
8e8e607b2e Implement downtimes.
Fixes #2833
2013-01-29 14:19:54 +01:00
Gunnar Beutner
76f37c1d71 Implement Convert class, move existing type conversion functionality there
Fixes #3580
2013-01-29 12:05:46 +01:00
Gunnar Beutner
3ffe8707ab Fix string_iless performance issue. 2013-01-28 09:43:54 +01:00
Gunnar Beutner
2e78899347 Implement statistics for passive service checks. 2013-01-28 09:01:47 +01:00
Gunnar Beutner
9413466cef Disallow DynamicObject::Set() for config variables.
Fixes #3573
2013-01-25 10:12:55 +01:00
Gunnar Beutner
02de634c12 Implement REGISTER_SCRIPTFUNCTION() and clean up how check types are registered. 2013-01-22 09:21:50 +01:00
Gunnar Beutner
7dc761236d Remove InitializeLibrary TODO.
Closes #3538
2013-01-22 09:04:36 +01:00
Gunnar Beutner
54ce8d51d8 Implement support for time periods. 2013-01-21 13:47:36 +01:00
Gunnar Beutner
9c74bfd5be Implement String::ToDouble().
Fixes #3544.
2013-01-21 13:44:17 +01:00
Gunnar Beutner
8f2aea6958 Made String::Split() const. 2013-01-21 13:29:00 +01:00
Gunnar Beutner
5b4712c55b Fixed incorrect argument name. 2013-01-21 13:21:10 +01:00
Gunnar Beutner
853dbfa82e Implemented command pipe (sort of). 2013-01-21 13:08:08 +01:00
Gunnar Beutner
51bad2d2a6 Fix: DynamicObject::Unregister() failed to unregister objects. 2013-01-18 09:55:05 +01:00
Gunnar Beutner
70c66fa542 Implemented the #library directive and fixed loading icinga.dll on Windows. 2013-01-17 15:05:34 +01:00
Gunnar Beutner
747e3e7de8 Fixed bug with invalid type in state files. 2013-01-17 15:03:44 +01:00
Gunnar Beutner
ea115a2c8c Fixed DynamicObject::DumpObjects(). 2012-12-04 15:41:07 +01:00
Gunnar Beutner
28e58df3aa Removed obsolete comment. 2012-12-04 15:37:41 +01:00
Gunnar Beutner
83772d4386 Implemented DynamicType support.
Fixes #3477
2012-12-04 08:42:24 +01:00
Gunnar Beutner
8e687ea7fe Added some more code documentation. 2012-11-26 08:29:26 +01:00
Gunnar Beutner
d26af07e48 Build fix for *NIX. 2012-11-23 12:34:06 +01:00
Gunnar Beutner
0785a082e9 Minor cleanups. 2012-11-23 11:04:08 +01:00
Gunnar Beutner
334bfe388a Implemented the StdioStream and UnixSocket classes. 2012-11-23 11:03:33 +01:00
Gunnar Beutner
1055a306c9 Build fix for *NIX. 2012-11-22 12:12:24 +01:00
Gunnar Beutner
321d66023f Refactored the socket classes. 2012-11-22 12:04:32 +01:00
Gunnar Beutner
482742f00e Fixed incorrect use of boost::algorithm::is_iless. 2012-10-31 12:06:21 +01:00
Gunnar Beutner
a5f361b7b6 Made type and attribute names case-insensitive.
Fixes #3223
2012-10-23 15:57:45 +02:00
Gunnar Beutner
98f1244271 Fix: Added missing DLL exports for Windows. 2012-10-17 12:03:07 +02:00
Gunnar Beutner
e57bf22d82 Fix: Renaming temp files didn't work on Windows.
Fixes #3216
2012-10-17 11:35:06 +02:00
Gunnar Beutner
69bf01155d Added missing GPL headers. 2012-10-16 10:41:54 +02:00
Gunnar Beutner
ec0e319d8a Don't write local-only objects to the state file. 2012-10-12 10:16:03 +02:00
Gunnar Beutner
115489a531 Fixed loading components when using a custom --libdir. 2012-10-02 09:26:17 +02:00
Gunnar Beutner
47fa56a805 Added methods for retrieving the installation prefix and local state dir. 2012-09-28 13:16:08 +02:00
Gunnar Beutner
e55aa712b5 Made IComponent::GetConfig() usable in IComponent::Start().
Fixes #3200
2012-09-28 10:40:12 +02:00
Gunnar Beutner
5ff640fd14 Fixed Utility::Sleep on Windows. 2012-09-27 10:05:54 +02:00
Gunnar Beutner
0cb232f494 Handle some exceptions that previously caused crashes. 2012-09-27 09:58:16 +02:00
Gunnar Beutner
c5479057f7 Make exception messages more verbose. 2012-09-27 09:38:28 +02:00
Gunnar Beutner
74a3bca0f6 Fixed crash in Utility::Daemonize().
Fixes #3194
2012-09-27 08:21:07 +02:00
Gunnar Beutner
426ff0b706 Added missing GPL header in scripttask.cpp. 2012-09-25 15:46:24 +02:00
Gunnar Beutner
2f0f1dcd64 Removed win32.cpp / unix.cpp files as they were no longer needed. 2012-09-25 15:45:19 +02:00
Gunnar Beutner
edf812b6b5 Removed ::Sleep and implemented Utility::Sleep. 2012-09-25 15:41:43 +02:00
Gunnar Beutner
e1fc41e735 Sleep for 5 seconds rather than 5 milliseconds. 2012-09-25 15:35:46 +02:00
Gunnar Beutner
f8aa5f67a2 Fixed grammar mistakes. 2012-09-25 15:33:51 +02:00
Gunnar Beutner
980913d980 Properly deal with time changes (2nd attempt). 2012-09-25 15:24:14 +02:00
Gunnar Beutner
c81fd071e6 Detect local time changes. 2012-09-25 14:03:41 +02:00
Gunnar Beutner
345ebe8061 Changed timestamp format (again).
Fixes #3153
2012-09-25 09:02:28 +02:00
Gunnar Beutner
b9b009b6da Build fix for Windows. 2012-09-21 16:28:14 +02:00
Gunnar Beutner
bb8935fe9b Added Win64 build support. 2012-09-21 16:15:36 +02:00
Gunnar Beutner
5921337b46 Merged convenience component into libicinga. 2012-09-21 13:49:14 +02:00
Gunnar Beutner
97829fbfcd Cleaned up the code a bit. 2012-09-21 09:43:06 +02:00
Gunnar Beutner
852ad5d964 Added Utility::GetPid() helper function. 2012-09-19 13:00:48 +02:00
Gunnar Beutner
8e2801e062 Updated documentation. 2012-09-19 12:32:39 +02:00
Gunnar Beutner
ff0af9d65e Fixed more doxygen warnings. 2012-09-17 14:47:43 +02:00
Gunnar Beutner
fee4246f55 Updated doxygen documentation. 2012-09-17 13:35:55 +02:00
Gunnar Beutner
86c0aff719 Build fix for Windows. 2012-09-17 11:13:35 +02:00
Gunnar Beutner
d79a7fca0d Removed unused ThreadPool class. 2012-09-14 14:44:54 +02:00
Gunnar Beutner
063d69ed96 Added missing doc strings. 2012-09-14 14:41:17 +02:00
Gunnar Beutner
9bc93ce4a9 Renamed 'doc' to 'docs'.
Moved Doxygen files to docs/.
Removed cJSON directory.
Moved libraries into lib/.
Renamed 'config' to 'm4'.
Renamed 'dyn' library to 'config'.
2012-09-07 10:27:31 +02:00