mirror of
https://github.com/rsyslog/rsyslog.git
synced 2025-12-13 04:50:41 +01:00
41 lines
1.5 KiB
Bash
Executable File
41 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# This is test case from practice, with the version we introduced it, it
|
|
# caused a deadlock on shutdown. I have added it to the test suite to automatically
|
|
# detect such things in the future.
|
|
#
|
|
# added 2010-03-17 by Rgerhards
|
|
# This file is part of the rsyslog project, released under GPLv3
|
|
echo ================================================================================
|
|
echo TEST: \[asynwr_deadlock.sh\]: a case known to have caused a deadlock in the past
|
|
. ${srcdir:=.}/diag.sh init
|
|
export CI_SHUTDOWN_QUEUE_EMPTY_CHECKS=20 # this test is notoriously slow...
|
|
generate_conf
|
|
add_conf '
|
|
$ModLoad ../plugins/imtcp/.libs/imtcp
|
|
$MainMsgQueueTimeoutShutdown 10000
|
|
$InputTCPServerListenPortFile '$RSYSLOG_DYNNAME'.tcpflood_port
|
|
$InputTCPServerRun 0
|
|
|
|
$template outfmt,"%msg:F,58:2%\n"
|
|
|
|
$OMFileFlushOnTXEnd on
|
|
$OMFileFlushInterval 10
|
|
$OMFileIOBufferSize 10k
|
|
$OMFileAsyncWriting on
|
|
:msg, contains, "msgnum:" action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt")
|
|
'
|
|
# uncomment for debugging support:
|
|
#export RSYSLOG_DEBUG="debug nostdout noprintmutexaction"
|
|
#export RSYSLOG_DEBUGLOG="log"
|
|
startup
|
|
# just send one message
|
|
tcpflood -m1
|
|
# sleep is important! need to make sure the instance is inactive
|
|
sleep 1
|
|
# now try shutdown. The actual test is if the process does hang here!
|
|
echo "processing must continue soon"
|
|
shutdown_when_empty # shut down rsyslogd when done processing messages
|
|
wait_shutdown # and wait for it to terminate
|
|
seq_check 0 0
|
|
exit_test
|