summaryrefslogtreecommitdiffstats
path: root/tests/asynwr_deadlock4.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/asynwr_deadlock4.sh')
-rwxr-xr-xtests/asynwr_deadlock4.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/asynwr_deadlock4.sh b/tests/asynwr_deadlock4.sh
new file mode 100755
index 0000000..41dece3
--- /dev/null
+++ b/tests/asynwr_deadlock4.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+# This is test case from practice, with the version we introduced it, it
+# caused a deadlock during processing.
+# We added this as a standard test in the hopes that iw will help
+# detect such things in the future.
+#
+# This is a test that is constructed similar to asynwr_deadlock2.sh, but
+# can produce problems in a simpler way.
+#
+# added 2010-03-18 by Rgerhards
+# This file is part of the rsyslog project, released under ASL 2.0
+. ${srcdir:=.}/diag.sh init
+export NUMMESSAGES=20000
+export QUEUE_EMPTY_CHECK_FUNC=wait_file_lines
+generate_conf
+add_conf '
+$ModLoad ../plugins/imtcp/.libs/imtcp
+$MainMsgQueueTimeoutShutdown 10000
+$InputTCPServerListenPortFile '$RSYSLOG_DYNNAME'.tcpflood_port
+$InputTCPServerRun 0
+
+$template outfmt,"%msg:F,58:3%,%msg:F,58:4%,%msg:F,58:5%\n"
+template(name="dynfile" type="string" string="'$RSYSLOG_OUT_LOG'")
+
+$OMFileFlushOnTXEnd on
+$OMFileFlushInterval 10
+$OMFileIOBufferSize 10k
+$OMFileAsyncWriting on
+$DynaFileCacheSize 4
+local0.* ?dynfile;outfmt
+'
+startup
+# send 20000 messages, each close to 2K (non-randomized!), so that we can fill
+# the buffers and hopefully run into the "deadlock".
+tcpflood -m20000 -d18 -P129 -f5
+shutdown_when_empty
+wait_shutdown
+export SEQ_CHECK_OPTIONS=-E
+seq_check
+exit_test