mirror of
https://github.com/rsyslog/rsyslog.git
synced 2025-12-15 10:30:40 +01:00
when rsyslog is HUPed immediately after startup and before it is fully initialized, there is a potential race with the list of loaded modules. This patch ensures no bad things can happen in that case. Detected by LLVM TSAN, not seen in practice. Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
33 lines
1.1 KiB
Bash
Executable File
33 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# This file is part of the rsyslog project, released under ASL 2.0
|
|
. ${srcdir:=.}/diag.sh init
|
|
skip_platform "FreeBSD" "This test currently does not work on FreeBSD"
|
|
export NUMMESSAGES=5000 # MUST be an even number
|
|
generate_conf
|
|
add_conf '
|
|
module(load="../plugins/imtcp/.libs/imtcp")
|
|
input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port")
|
|
|
|
template(name="outfmt" type="string" string="%msg:F,58:2%\n")
|
|
:msg, contains, "msgnum:" { action(type="omfile" template="outfmt"
|
|
zipLevel="6" ioBufferSize="256k"
|
|
flushOnTXEnd="on"
|
|
asyncWriting="on"
|
|
file="'$RSYSLOG_OUT_LOG'")
|
|
action(type="omfile" file="'$RSYSLOG_DYNNAME'.countlog")
|
|
}
|
|
'
|
|
startup
|
|
tcpflood -m$((NUMMESSAGES / 2)) -P129
|
|
wait_queueempty
|
|
echo test 1
|
|
wait_file_lines "$RSYSLOG_DYNNAME.countlog" $((NUMMESSAGES / 2 ))
|
|
gzip_seq_check 0 $((NUMMESSAGES / 2 - 1))
|
|
tcpflood -i$((NUMMESSAGES / 2)) -m$((NUMMESSAGES / 2)) -P129
|
|
echo test 2
|
|
wait_file_lines "$RSYSLOG_DYNNAME.countlog" $NUMMESSAGES
|
|
shutdown_when_empty
|
|
wait_shutdown
|
|
gzip_seq_check
|
|
exit_test
|