From: Nick Porter Date: Fri, 3 May 2024 08:50:28 +0000 (+0100) Subject: Add per thread SQL module data X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9238e1bad4dc74f37cc041aaf1fd55bb9398818e;p=thirdparty%2Ffreeradius-server.git Add per thread SQL module data For holding trunk connection --- diff --git a/src/modules/rlm_sql/rlm_sql.c b/src/modules/rlm_sql/rlm_sql.c index 8bc7b39f3e3..b1784379124 100644 --- a/src/modules/rlm_sql/rlm_sql.c +++ b/src/modules/rlm_sql/rlm_sql.c @@ -2013,7 +2013,8 @@ module_rlm_t rlm_sql = { .config = module_config, .bootstrap = mod_bootstrap, .instantiate = mod_instantiate, - .detach = mod_detach + .detach = mod_detach, + .thread_inst_size = sizeof(rlm_sql_thread_t), }, .bindings = (module_method_binding_t[]){ /* diff --git a/src/modules/rlm_sql/rlm_sql.h b/src/modules/rlm_sql/rlm_sql.h index eb89482138a..e48cdb4f221 100644 --- a/src/modules/rlm_sql/rlm_sql.h +++ b/src/modules/rlm_sql/rlm_sql.h @@ -31,6 +31,7 @@ RCSIDH(rlm_sql_h, "$Id$") #include #include #include +#include #include #define FR_ITEM_CHECK 0 @@ -98,6 +99,14 @@ typedef struct { typedef struct sql_inst rlm_sql_t; +/* + * Per-thread instance data structure + */ +typedef struct { + fr_trunk_t *trunk; //!< Trunk connection for this thread. + rlm_sql_t const *inst; //!< Module instance data. +} rlm_sql_thread_t; + typedef struct { void *conn; //!< Database specific connection handle. rlm_sql_row_t row; //!< Row data from the last query.