aboutsummaryrefslogtreecommitdiffstats
path: root/src/lua/lua_worker.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2020-02-25 13:29:01 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2020-02-25 13:29:01 +0000
commit9305084973d7e7fa1ca33cade45ee6f9732055b7 (patch)
treedc735d221e5e5039a415db73c753ed7de755acc7 /src/lua/lua_worker.c
parent58ed3fae4fe7c3c972e801698a0e8f1c615213ce (diff)
downloadrspamd-9305084973d7e7fa1ca33cade45ee6f9732055b7.tar.gz
rspamd-9305084973d7e7fa1ca33cade45ee6f9732055b7.zip
[Minor] Allow to set process title for lua processes
Diffstat (limited to 'src/lua/lua_worker.c')
-rw-r--r--src/lua/lua_worker.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/lua/lua_worker.c b/src/lua/lua_worker.c
index 4364a1b86..f7f4b3c68 100644
--- a/src/lua/lua_worker.c
+++ b/src/lua/lua_worker.c
@@ -757,7 +757,7 @@ lua_worker_spawn_process (lua_State *L)
struct rspamd_lua_process_cbdata *cbdata;
struct rspamd_abstract_worker_ctx *actx;
struct rspamd_srv_command srv_cmd;
- const gchar *cmdline = NULL, *input = NULL;
+ const gchar *cmdline = NULL, *input = NULL, *proctitle = NULL;
gsize inputlen = 0;
pid_t pid;
GError *err = NULL;
@@ -765,8 +765,8 @@ lua_worker_spawn_process (lua_State *L)
if (!rspamd_lua_parse_table_arguments (L, 2, &err,
RSPAMD_LUA_PARSE_ARGUMENTS_DEFAULT,
- "func=F;exec=S;stdin=V;*on_complete=F", &func_cbref,
- &cmdline, &inputlen, &input, &cb_cbref)) {
+ "func=F;exec=S;stdin=V;*on_complete=F;proctitle=S", &func_cbref,
+ &cmdline, &inputlen, &input, &cb_cbref, &proctitle)) {
msg_err ("cannot get parameters list: %e", err);
if (err) {
@@ -834,6 +834,14 @@ lua_worker_spawn_process (lua_State *L)
rspamd_socket_blocking (cbdata->sp[1]);
g_hash_table_remove_all (w->signal_events);
ev_loop_destroy (cbdata->event_loop);
+
+ if (proctitle) {
+ setproctitle ("lua process: %s", proctitle);
+ }
+ else {
+ setproctitle ("lua process: unnamed");
+ }
+
cbdata->event_loop = ev_loop_new (EVFLAG_SIGNALFD);
rspamd_worker_unblock_signals ();
rspamd_lua_execute_lua_subprocess (L, cbdata);