diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2008-01-14 19:08:43 +0000 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2008-01-14 19:08:43 +0000 |
commit | 75b645f16b930f142b777b00b529fb726ef10243 (patch) | |
tree | 45ad552d5683c633e573e09801dd8a2a0f56acc2 /queue.h | |
parent | ec27ea55f38d78fd97c80f8554870693a96be332 (diff) | |
download | rsyslog-75b645f16b930f142b777b00b529fb726ef10243.tar.gz rsyslog-75b645f16b930f142b777b00b529fb726ef10243.tar.bz2 rsyslog-75b645f16b930f142b777b00b529fb726ef10243.zip |
some more work on disk assisted mode (still not complete)
Diffstat (limited to 'queue.h')
-rw-r--r-- | queue.h | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -104,6 +104,9 @@ typedef struct queue_s { pthread_mutex_t *mut; pthread_cond_t *notFull, *notEmpty; pthread_cond_t condThrdTrm;/* signalled when threads terminate */ + pthread_cond_t *condSignalOnEmpty;/* caller-provided condition to be signalled when queue is empty (DA mode!) */ + pthread_mutex_t *mutSignalOnEmpty; /* and its associated mutex */ + int bSignalOnEmpty; /* signal caller when queue is empty via xxxSignalOnEmpty cond/mut */ /* end sync variables */ /* the following variables are always present, because they * are not only used for the "disk" queueing mode but also for @@ -118,6 +121,8 @@ typedef struct queue_s { size_t iMaxFileSize; /* max size for a single queue file */ int bIsDA; /* is this queue disk assisted? */ int bRunsDA; /* is this queue actually *running* disk assisted? */ + pthread_mutex_t mutDA; /* mutex for low water mark algo */ + pthread_cond_t condDA; /* and its matching condition */ struct queue_s *pqDA; /* queue for disk-assisted modes */ /* now follow queueing mode specific data elements */ union { /* different data elements based on queue type (qType) */ |