summaryrefslogtreecommitdiffstats
path: root/src/client
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2018-11-12 11:30:42 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2018-11-12 11:31:12 +0000
commitebe9a34471e0676b5d7a222bab946edab099dd41 (patch)
treea61ed30a5eb9dd49778e6fa021daf9e3d1aa0e20 /src/client
parent2584e0d026db59c6a5eaf7916cfd9b1398cda05c (diff)
downloadrspamd-ebe9a34471e0676b5d7a222bab946edab099dd41.tar.gz
rspamd-ebe9a34471e0676b5d7a222bab946edab099dd41.zip
[Minor] Set proper exit code on errors in rspamc
Issue: #2627 Closes: #2627
Diffstat (limited to 'src/client')
-rw-r--r--src/client/rspamc.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/client/rspamc.c b/src/client/rspamc.c
index f7fa2c24a..7f333f9d7 100644
--- a/src/client/rspamc.c
+++ b/src/client/rspamc.c
@@ -68,6 +68,8 @@ static gchar *user_agent = "rspamc";
static GList *children;
static GPatternSpec **exclude_compiled = NULL;
+static gint retcode = EXIT_SUCCESS;
+
#define ADD_CLIENT_HEADER(o, n, v) do { \
struct rspamd_http_client_header *nh; \
nh = g_malloc (sizeof (*nh)); \
@@ -1588,6 +1590,10 @@ rspamc_client_cb (struct rspamd_client_connection *conn,
rspamd_client_destroy (conn);
g_free (cbdata->filename);
g_free (cbdata);
+
+ if (err) {
+ retcode = EXIT_FAILURE;
+ }
}
static void
@@ -2017,5 +2023,6 @@ main (gint argc, gchar **argv, gchar **env)
g_pattern_spec_free (exclude_compiled[i]);
}
- return ret;
+ /* Mix retcode (return from Rspamd side) and ret (return from subprocess) */
+ return ret ^ retcode;
}