summaryrefslogtreecommitdiffstats
path: root/tools/omfile.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-08-21 10:37:59 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2009-08-21 10:37:59 +0200
commit596383988792635f128cb645c9b7c8aae50453e6 (patch)
tree5e5ba6dc03b6e9b687b09f49828b5a1fcdda1cda /tools/omfile.c
parent8624f937523c1ca78cc1d78b8eba18f628ae9ab5 (diff)
parentdaa76ad94428599336ddafdd6854dc0b71356180 (diff)
downloadrsyslog-596383988792635f128cb645c9b7c8aae50453e6.tar.gz
rsyslog-596383988792635f128cb645c9b7c8aae50453e6.tar.bz2
rsyslog-596383988792635f128cb645c9b7c8aae50453e6.zip
Merge branch 'v4-devel' into v4-beta
Diffstat (limited to 'tools/omfile.c')
-rw-r--r--tools/omfile.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/omfile.c b/tools/omfile.c
index 82944a96..bb12b4b6 100644
--- a/tools/omfile.c
+++ b/tools/omfile.c
@@ -401,12 +401,17 @@ prepareFile(instanceData *pData, uchar *newFileName)
CHKiRet(strm.SetDir(pData->pStrm, szDirName, ustrlen(szDirName)));
CHKiRet(strm.SetiZipLevel(pData->pStrm, pData->iZipLevel));
CHKiRet(strm.SetsIOBufSize(pData->pStrm, (size_t) pData->iIOBufSize));
- CHKiRet(strm.SetiFlushInterval(pData->pStrm, pData->iFlushInterval));
CHKiRet(strm.SettOperationsMode(pData->pStrm, STREAMMODE_WRITE_APPEND));
CHKiRet(strm.SettOpenMode(pData->pStrm, fCreateMode));
CHKiRet(strm.SetbSync(pData->pStrm, pData->bSyncFile));
CHKiRet(strm.SetsType(pData->pStrm, STREAMTYPE_FILE_SINGLE));
CHKiRet(strm.SetiSizeLimit(pData->pStrm, pData->iSizeLimit));
+ /* set the flush interval only if we actually use it - otherwise it will activate
+ * async processing, which is a real performance waste if we do not do buffered
+ * writes! -- rgerhards, 2009-07-06
+ */
+ if(!pData->bFlushOnTXEnd)
+ CHKiRet(strm.SetiFlushInterval(pData->pStrm, pData->iFlushInterval));
if(pData->pszSizeLimitCmd != NULL)
CHKiRet(strm.SetpszSizeLimitCmd(pData->pStrm, ustrdup(pData->pszSizeLimitCmd)));
CHKiRet(strm.ConstructFinalize(pData->pStrm));