diff options
author | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2008-08-22 18:15:02 +0400 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2008-08-22 18:15:02 +0400 |
commit | a4473aedcb7c49b494112bce63d06c98d88e0e0d (patch) | |
tree | 17c39ecf0b973dd3b74db3b02d678944eac649d9 /main.h | |
parent | f3b6712e04fd993caccaa18e425639d85d81b1eb (diff) | |
download | rspamd-a4473aedcb7c49b494112bce63d06c98d88e0e0d.tar.gz rspamd-a4473aedcb7c49b494112bce63d06c98d88e0e0d.zip |
* Add implementation of save point for async events in rspamd filters
Diffstat (limited to 'main.h')
-rw-r--r-- | main.h | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -93,6 +93,13 @@ struct mime_part { TAILQ_ENTRY (mime_part) next; }; +struct save_point { + enum { C_FILTER, PERL_FILTER } save_type; + void *entry; + void *chain; + unsigned saved:1; +}; + struct worker_task { struct rspamd_worker *worker; enum { @@ -101,6 +108,7 @@ struct worker_task { READ_MESSAGE, WRITE_REPLY, WRITE_ERROR, + WAIT_FILTER, } state; size_t content_length; char *helo; @@ -126,6 +134,7 @@ struct worker_task { /* Results of all chains */ TAILQ_HEAD (chainsq, chain_result) chain_results; struct config_file *cfg; + struct save_point save; }; struct module_ctx { @@ -142,7 +151,7 @@ struct c_module { }; void start_worker (struct rspamd_worker *worker, int listen_sock); - +int process_filters (struct worker_task *task); #endif |