summaryrefslogtreecommitdiff
path: root/ngx_stream_lua-0.0.16/src/ngx_stream_lua_worker.c
diff options
context:
space:
mode:
authorkaiwu <kaiwu2004@gmail.com>2025-03-01 12:42:23 +0800
committerkaiwu <kaiwu2004@gmail.com>2025-03-01 12:42:23 +0800
commit3f33461e4948bf05e60bdff35ec6c57a649c7860 (patch)
tree284c2ba95a41536ae1bff6bea710db0709a64739 /ngx_stream_lua-0.0.16/src/ngx_stream_lua_worker.c
downloadopenresty-3f33461e4948bf05e60bdff35ec6c57a649c7860.tar.gz
openresty-3f33461e4948bf05e60bdff35ec6c57a649c7860.zip
openresty bundle
Diffstat (limited to 'ngx_stream_lua-0.0.16/src/ngx_stream_lua_worker.c')
-rw-r--r--ngx_stream_lua-0.0.16/src/ngx_stream_lua_worker.c177
1 files changed, 177 insertions, 0 deletions
diff --git a/ngx_stream_lua-0.0.16/src/ngx_stream_lua_worker.c b/ngx_stream_lua-0.0.16/src/ngx_stream_lua_worker.c
new file mode 100644
index 0000000..e18dd80
--- /dev/null
+++ b/ngx_stream_lua-0.0.16/src/ngx_stream_lua_worker.c
@@ -0,0 +1,177 @@
+
+/*
+ * !!! DO NOT EDIT DIRECTLY !!!
+ * This file was automatically generated from the following template:
+ *
+ * src/subsys/ngx_subsys_lua_worker.c.tt2
+ */
+
+
+/*
+ * Copyright (C) Yichun Zhang (agentzh)
+ */
+
+
+#ifndef DDEBUG
+#define DDEBUG 0
+#endif
+#include "ddebug.h"
+
+
+#define NGX_PROCESS_PRIVILEGED_AGENT 99
+
+
+int
+ngx_stream_lua_ffi_worker_pid(void)
+{
+ return (int) ngx_pid;
+}
+
+
+#if !(NGX_WIN32)
+int
+ngx_stream_lua_ffi_worker_pids(int *pids, size_t *pids_len)
+{
+ size_t n;
+ ngx_int_t i;
+
+ n = 0;
+ for (i = 0; n < *pids_len && i < NGX_MAX_PROCESSES; i++) {
+ if (i != ngx_process_slot && ngx_processes[i].pid == 0) {
+ break;
+ }
+
+ /* The current process */
+ if (i == ngx_process_slot) {
+ pids[n++] = ngx_pid;
+ }
+
+ if (ngx_processes[i].channel[0] > 0 && ngx_processes[i].pid > 0) {
+ pids[n++] = ngx_processes[i].pid;
+ }
+ }
+
+ if (n == 0) {
+ return NGX_ERROR;
+ }
+
+ *pids_len = n;
+
+ return NGX_OK;
+}
+#endif
+
+
+int
+ngx_stream_lua_ffi_worker_id(void)
+{
+#if defined(nginx_version) && nginx_version >= 1009001
+ if (ngx_process != NGX_PROCESS_WORKER
+ && ngx_process != NGX_PROCESS_SINGLE)
+ {
+ return -1;
+ }
+
+ return (int) ngx_worker;
+#else
+ return -1;
+#endif
+}
+
+
+int
+ngx_stream_lua_ffi_worker_exiting(void)
+{
+ return (int) ngx_exiting;
+}
+
+
+int
+ngx_stream_lua_ffi_worker_count(void)
+{
+ ngx_core_conf_t *ccf;
+
+ ccf = (ngx_core_conf_t *) ngx_get_conf(ngx_cycle->conf_ctx,
+ ngx_core_module);
+
+ return (int) ccf->worker_processes;
+}
+
+
+int
+ngx_stream_lua_ffi_master_pid(void)
+{
+#if defined(nginx_version) && nginx_version >= 1013008
+ if (ngx_process == NGX_PROCESS_SINGLE) {
+ return (int) ngx_pid;
+ }
+
+ return (int) ngx_parent;
+#else
+ return NGX_ERROR;
+#endif
+}
+
+
+int
+ngx_stream_lua_ffi_get_process_type(void)
+{
+ ngx_core_conf_t *ccf;
+
+#if defined(HAVE_PRIVILEGED_PROCESS_PATCH) && !NGX_WIN32
+ if (ngx_process == NGX_PROCESS_HELPER) {
+ if (ngx_is_privileged_agent) {
+ return NGX_PROCESS_PRIVILEGED_AGENT;
+ }
+ }
+#endif
+
+ if (ngx_process == NGX_PROCESS_SINGLE) {
+ ccf = (ngx_core_conf_t *) ngx_get_conf(ngx_cycle->conf_ctx,
+ ngx_core_module);
+
+ if (ccf->master) {
+ return NGX_PROCESS_MASTER;
+ }
+ }
+
+ return ngx_process;
+}
+
+
+#if defined(nginx_version) && nginx_version >= 1019003
+int
+ngx_stream_lua_ffi_enable_privileged_agent(char **err, unsigned int connections)
+#else
+int
+ngx_stream_lua_ffi_enable_privileged_agent(char **err)
+#endif
+{
+#ifdef HAVE_PRIVILEGED_PROCESS_PATCH
+ ngx_core_conf_t *ccf;
+
+ ccf = (ngx_core_conf_t *) ngx_get_conf(ngx_cycle->conf_ctx,
+ ngx_core_module);
+
+ ccf->privileged_agent = 1;
+#if defined(nginx_version) && nginx_version >= 1019003
+ ccf->privileged_agent_connections = connections;
+#endif
+
+ return NGX_OK;
+
+#else
+ *err = "missing privileged agent process patch in the nginx core";
+ return NGX_ERROR;
+#endif
+}
+
+
+void
+ngx_stream_lua_ffi_process_signal_graceful_exit(void)
+{
+ ngx_quit = 1;
+}
+
+
+/* vi:set ft=c ts=4 sw=4 et fdm=marker: */