| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
we needed to release ALL resources (including file handles!) only
after the the async writer thread has terminated (else it may access
them). In this case, we had a file handle leak, because the handle was
sometimes only opened in the async writer, but the close was attempted
before the writer even started (in some cases).
|
|
|
|
|
|
| |
...after we seem to have identified the root cause of the segfault.
I leave them commented out so that we can re-activate it if need
arises (aka "get some practice drill first").
|
|
|
|
|
|
|
|
|
|
| |
Most severely affected omfile. The problem was that some buffers were
freed before the asynchronous writer thread was shut down. So the
writer thread accessed invalid data, which may even already be
overwritten. Symptoms (with omfile) were segfaults, grabled data
and files with random names placed around the file system (most
prominently into the root directory). Special thanks to Aaron for
helping to track this down.
|
|
|
|
|
| |
if the buffer was too small, we would see more API calls, but no
failure, so this is no fix!
|
|
|
|
|
|
| |
Problems could lead to abort and/or memory leak. The module is now hardened in a very
conservative way, which is sub-optimal from a performance point of view. This should
be improved if it has proven reliable in practice.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
In async write mode, we use modular arithmetic to index the output
buffer array. However, the counter variables accidently were signed,
thus resulting in negative indizes after integer overflow. That in turn
could lead to segfaults, but was depending on the memory layout of
the instance in question (which in turn depended on a number of
variables, like compile settings but also configuration). The counters
are now unsigned (as they always should have been) and so the dangling
mis-indexing does no longer happen. This bug potentially affected all
installations, even if only some may actually have seen a segfault.
|
|
|
|
|
| |
This is for another prctl() call, not present in the beta version (looks like it
would make sense to stick these into a utility function)
|
|
|
|
|
|
| |
for the stream class and thus finally activating omfile's timeout
capability in a useful way without polling and too-high performance
overhead.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
... this is necessary in preparation for the final solution (we need
to have a "unified" writer). If it causes worse performance to have the
zip writher togehter with the synchronous write, we may do an async write...
|
| |
|
|
|
|
|
| |
... seems to work on quick testing, but needs a far more testing
and improvement. Good milestone commit.
|
| |
|
| |
|
|
|
|
| |
... commit before I try to touch the queue side ;)
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
ChangeLog
runtime/msg.h
tcps_sess.c
tcpsrv.c
tools/syslogd.c
|
| | |
|
| |
| |
| |
| |
| |
| | |
This is the first shot at this functionality. Currently, we run off a fixed
counter in the rsyslogd mainloop, which needs to be restructured. But this
code works, so it is a good time for a commit.
|
| |
| |
| |
| |
| |
| |
| | |
... by moving code to stream.c. Thanks to the new design, new cases are
not really needed, resulting in cleaner code.
I also did a cleanup of header file usage as a side-activity.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
... this was long overdue, and I finlly tackeld it. It turned out to
be more complex than I initially thought. The next step now probably is
to actually implement multiple rule sets and the beauty that comes
with them.
|
| |
| |
| |
| |
| |
| | |
... restoring missing functionality after the restructuring of imfile. As
a side-effect, this also lays the foundation for even more reliable queue
engine operations (but this is not yet done).
|
| | |
|
| |
| |
| |
| | |
now some basic operations are carried out via the stream class.
|
|/
|
|
|
|
| |
... and also made it callable via an rsyslog interface rather then
relying on the OS loader (important if we go for using it inside
loadbale modules, which we soon possible will)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
| |
reduced dependencies, moved non-runtime files to its own directory except
for some whom's status is unclear
|
|
|