diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2014-05-12 14:52:39 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2014-05-12 14:52:39 +0100 |
commit | d7941731d1f63381c791e1e306cefc1eba732517 (patch) | |
tree | 553fa6c918663a6b71ebe89312cce5f4107aac8a /src | |
parent | e14bd789c8c9bb8cc6975cf84440cef7ba68a5ea (diff) | |
download | rspamd-d7941731d1f63381c791e1e306cefc1eba732517.tar.gz rspamd-d7941731d1f63381c791e1e306cefc1eba732517.zip |
Fix issue in task processing.
Diffstat (limited to 'src')
-rw-r--r-- | src/libserver/task.c | 4 | ||||
-rw-r--r-- | src/worker.c | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/libserver/task.c b/src/libserver/task.c index 00ff9003d..d19362fca 100644 --- a/src/libserver/task.c +++ b/src/libserver/task.c @@ -325,7 +325,6 @@ rspamd_task_process (struct rspamd_task *task, if (task->is_skipped) { /* Call write_socket to write reply and exit */ task->state = WRITE_REPLY; - return TRUE; } } else { @@ -333,8 +332,9 @@ rspamd_task_process (struct rspamd_task *task, /* We want fin_task after pre filters are processed */ task->s->wanna_die = TRUE; task->state = WAIT_PRE_FILTER; - check_session_pending (task->s); } + check_session_pending (task->s); + return TRUE; } diff --git a/src/worker.c b/src/worker.c index 20945bd89..229ee1a4e 100644 --- a/src/worker.c +++ b/src/worker.c @@ -127,7 +127,9 @@ rspamd_worker_body_handler (struct rspamd_http_connection *conn, return 0; } - rspamd_task_process (task, msg, ctx->classify_pool, TRUE); + if (!rspamd_task_process (task, msg, ctx->classify_pool, TRUE)) { + rspamd_protocol_write_reply (task); + } return 0; } |