- added the ability to specify an error log function for the
runtime
- removed dependency of core runtime on dirty.h
Note that it is "better" modularity, not perfect. There is still
work to do, but I think we can for the time being proceed with
other things.
after careful analysis, I concluded that it is OK to
place the current net.c/.h code under LGPL. Individual
contributor agreement is given and no sysklogd code
remains (see net.c for details).
there are still some files left which could go into the
runtime, but I think we will delete most of them once we
are done with the full modularization.
I commented out some debug code that is only useful in some
testing scenarios and re-enabled the old code. This solved a FreeBSD
compile issue. Also, I fixed some other syntax error, which somehow
went into the tree (I am still puzzled about that, especially as some
have already and successfully build from that tree... anyhow ;)).
...to enable users to turn off pthread_yield calls which are
counter-productive on multiprocessor machines (but have been
shown to be useful on uniprocessors)
This enables us to use more efficient calling conventions and
also helps us keep the on-disk structure of a msg object more
consistent in future releases.
Message parsing is now done as part of main message queue worker
processing (was part of the input thread) This should also improve
performance, as potentially more work is done in parallel.
cleaned up previous code and redid it in a way that makes
it much easier to extend it
also added a new macro DBGPRINTF which is a performance-optimzed
version of dbgprintf
This enhances performance and, as some have pointed out, is
probably also more consistent with what users expect how
the various output-timestamp related function should work. This
commit needs some more testing.
...which enables to work with
less acurate timestamps in favor of performance. This enables querying
of the time only every n-th time if imudp is running in the tight
receive loop (aka receiving messsages at a high rate)