You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2022/04/11 22:18:39 UTC

[trafficserver] branch 9.2.x updated: Reuse TSMutex for ts_lua_http_intercept_handler (#8687)

This is an automated email from the ASF dual-hosted git repository.

zwoop pushed a commit to branch 9.2.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/9.2.x by this push:
     new ec9c8157a Reuse TSMutex for ts_lua_http_intercept_handler (#8687)
ec9c8157a is described below

commit ec9c8157a74ec3201cde2c74c6597887cd874f24
Author: Oknet <xu...@skyguard.com.cn>
AuthorDate: Wed Apr 6 14:17:15 2022 +0800

    Reuse TSMutex for ts_lua_http_intercept_handler (#8687)
    
    (cherry picked from commit 1d850c16bca337e97540122d4211a6a1895ab115)
---
 plugins/lua/ts_lua_http_intercept.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/plugins/lua/ts_lua_http_intercept.c b/plugins/lua/ts_lua_http_intercept.c
index d03bd0cbc..af8672299 100644
--- a/plugins/lua/ts_lua_http_intercept.c
+++ b/plugins/lua/ts_lua_http_intercept.c
@@ -22,7 +22,7 @@
 static int ts_lua_http_intercept(lua_State *L);
 static int ts_lua_http_server_intercept(lua_State *L);
 static int ts_lua_http_intercept_entry(TSCont contp, TSEvent event, void *edata);
-static void ts_lua_http_intercept_process(ts_lua_http_intercept_ctx *ictx, TSVConn conn);
+static void ts_lua_http_intercept_process(ts_lua_http_intercept_ctx *ictx, TSCont contp, TSVConn conn);
 static void ts_lua_http_intercept_setup_read(ts_lua_http_intercept_ctx *ictx);
 static void ts_lua_http_intercept_setup_write(ts_lua_http_intercept_ctx *ictx);
 static int ts_lua_http_intercept_handler(TSCont contp, TSEvent event, void *edata);
@@ -144,7 +144,7 @@ ts_lua_http_intercept_entry(TSCont contp, TSEvent event, void *edata)
     break;
 
   case TS_EVENT_NET_ACCEPT:
-    ts_lua_http_intercept_process(ictx, (TSVConn)edata);
+    ts_lua_http_intercept_process(ictx, contp, (TSVConn)edata);
     break;
 
   default:
@@ -156,10 +156,9 @@ ts_lua_http_intercept_entry(TSCont contp, TSEvent event, void *edata)
 }
 
 static void
-ts_lua_http_intercept_process(ts_lua_http_intercept_ctx *ictx, TSVConn conn)
+ts_lua_http_intercept_process(ts_lua_http_intercept_ctx *ictx, TSCont contp, TSVConn conn)
 {
   int n;
-  TSCont contp;
   lua_State *L;
   TSMutex mtxp;
   ts_lua_cont_info *ci;
@@ -167,11 +166,9 @@ ts_lua_http_intercept_process(ts_lua_http_intercept_ctx *ictx, TSVConn conn)
   ci   = &ictx->cinfo;
   mtxp = ictx->cinfo.routine.mctx->mutexp;
 
-  contp = TSContCreate(ts_lua_http_intercept_handler, TSMutexCreate());
-  TSContDataSet(contp, ictx);
-
-  ci->contp = contp;
   ci->mutex = TSContMutexGet(contp);
+  ci->contp = TSContCreate(ts_lua_http_intercept_handler, TSContMutexGet(contp));
+  TSContDataSet(ci->contp, ictx);
 
   ictx->net_vc = conn;