RemoteStopLiveTV() expects a reponse of 'OK' to STOP_LIVETV but we were returning 'ok'. There are probably other examples of this case mismatch since some handlers return lower case while others return in upper. We should probably standardise on OK throughout
Refs #10841. A fix for SEGFAULT handling.

We may want to handle this differently later, but this works.
We don't return from signalHandler if the signal is SEGV, ILL, BUS, or FPE.
This ensures the signal isn't immediately re-raised on return.
Also, after waiting 1 second for any cleanup actions which will
only happen if this signal didn't occur in the UI thread, we
call the default handler which will generate a core if necessary
and then exit the program.
Refs #10843. Adds IsExiting() call to SignalHandling.

This allows programs to exit on a signal when they are not in qApp->exec().
They just need to call QCoreApplication::processEvents() and then check
this return value and exit if appropriate.
Fixes #10842. Handle SIGABRT even if UI thread deadlocked.
Refs #10841. Add stdlib include for free.
Change wart on static from m_ to s_ to avoid confusion.
Refs #10311. Add leak debugging to the ReferenceCounter. Disabled by default.
Refs #10311. Use R/W lock for the leak detection.

Also exclude CommandLineArg from the leak report, these go away after the ReferenceCounter::PrintDebug() is called.
Also add extra debugging for MythImage classes, but only on linux since it can adds a cross lib dependency with OSX doesn't like.
Also use static cast for MythImage to avoid linking problems.
Refs #10311. Port MythUI to ReferenceCounter.

Note: MythUIButtonList::GetImage() has been renamed to GetImageFilename(),
this was done to avoid conflict as getImage was renamed GetImage() and
because it is more descriptive.

As far as I can tell all MythUI leaks have now been plugged.
Fixes #10311. Convert VAAPI context to use ReferenceCounter.

Note: I am unable to test this here, but I've read over it a few times to
try to account for all the ways it could fail.

This is the last of the UpRef/DownRef -> IncrRef/DecrRef changes.
Refs #10841. Define SIGBUS as SIGSEGV on windows systems.
Change logging/loggingserver from QTimer to MythSignalingTimer

Also fixed a few more uninitialized data issues in the LoggingItem, and added
isActive() to MythSignalingTimer class
Change MythSignalingTimer to use QWaitCondition

When you do a MythSignalingTimer::stop(), the method would not return until
the next timer expiry.  This is an issue as I'm using it for a QTimer
replacement with a 5 minute timer...  Changed it to use QWaitCondition such
that it is interrupted nearly immediately when ::stop() is run.  Also, unlock
the mutex before running wait() as this avoids a deadlock.

Also changed the locking in the loggingserver to avoid more possible
deadlock situations.
Build zeromq without documentation

Fixes #10840

Signed-off-by: Gavin Hurlbut <ghurlbut@mythtv.org>
Remove some ancient debugging code in SignalMonitor.
Fix documentation in mythsystem.h
Remove unused SyslogLogger::m_application
Refactor Logger creation

Make FileLogger::create, SyslogLogger::create, DatabaseLogger::create.  Also
make the *Logger::setupZMQSocket return false on failure, and move the
nzmqt exception handling much tighter around the code that would be raising
the exceptions. Added exception handling in the client logger too.
Make sure to initialize all pointers in LoggingItem's bare ctor
Fix the deadlocking on exit caused by the timer changes for logging.