aboutsummaryrefslogtreecommitdiffstats
path: root/src/lua/lua_common.h
diff options
context:
space:
mode:
authorMikhail Galanin <mgalanin@mimecast.com>2018-08-14 14:36:05 +0100
committerMikhail Galanin <mgalanin@mimecast.com>2018-08-14 14:36:05 +0100
commit9926cc68e2c143be8a05b91e28ba8830abfea04a (patch)
treeee8997d9488c9dd67a5a77789377cbd517275d56 /src/lua/lua_common.h
parentf9d4b50321057009489dbc673b108e6433f4ae38 (diff)
downloadrspamd-9926cc68e2c143be8a05b91e28ba8830abfea04a.tar.gz
rspamd-9926cc68e2c143be8a05b91e28ba8830abfea04a.zip
[Minor] Use coroutine model in dns resolver API
Diffstat (limited to 'src/lua/lua_common.h')
-rw-r--r--src/lua/lua_common.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/lua/lua_common.h b/src/lua/lua_common.h
index 45baa5549..149642597 100644
--- a/src/lua/lua_common.h
+++ b/src/lua/lua_common.h
@@ -408,6 +408,27 @@ void rspamd_lua_add_ref_dtor (lua_State *L, rspamd_mempool_t *pool,
gboolean rspamd_lua_require_function (lua_State *L, const gchar *modname,
const gchar *funcname);
+struct thread_entry;
+/**
+ * Yields thread. should be only called in return statement
+ * @param thread_entry
+ * @param nresults
+ * @return
+ */
+gint
+lua_yield_thread (struct thread_entry *thread_entry, gint nresults);
+
+/**
+ *
+ * @param pool
+ * @param thread_entry
+ * @param narg
+ * @return
+ */
+void
+lua_resume_thread (struct rspamd_task *task, struct thread_entry *thread_entry, gint narg);
+
+
/* Paths defs */
#define RSPAMD_CONFDIR_INDEX "CONFDIR"
#define RSPAMD_RUNDIR_INDEX "RUNDIR"