ngx_http_v3_init_session function
J Carter
jordanc.carter at outlook.com
Tue Feb 6 00:16:31 UTC 2024
Hello,
On Mon, 5 Feb 2024 23:24:39 +0200
Clima Gabriel <clima.gabrielphoto at gmail.com> wrote:
> Hello everyone,
>
> (the code is probably clearer and attached below)
> This function modifies what ngx_connection_t->data points to.
> ngx_connection_t->data is initially *ngx_http_connection_t.
> The *ngx_http_connection_t is assigned to
> ngx_http_v3_session_t->http_connection
> And the *ngx_http_v3_session_t assigned to ngx_connection_t->data.
>
> Result: before ngx_connection_t->data is *ngx_http_connection_t
> after ngx_connection_t->data is *ngx_http_v3_session_t
In C, a pointer to struct can be cast to a pointer to the first member
of that struct, as there is no padding before the first member per the
standard.
The first member of ngx_http_v3_session_t is *ngx_http_connection_t.
Here is the commit where this was implemented.
https://mailman.nginx.org/pipermail/nginx-devel/2023-September/BWH23FTMRUWCUZSNKXJJXEEN76ZYOK62.html
[...]
More information about the nginx
mailing list