[PATCH] upstream keepalive: save and restore connection data

RekGRpth rekgrpth at gmail.com
Mon May 2 03:41:40 UTC 2022


I think, my suggested in patch solution is more clear and easy and
beauty, than using cleanup handler to save any connection-specific
data within a cached connection.

вс, 1 мая 2022 г. в 07:46, RekGRpth <rekgrpth at gmail.com>:
>
> now, for example, I do very dirty hack for this:
> https://github.com/RekGRpth/ngx_pg_module/blob/06eab53160fcff2b19e73ed5bc787f534c2a4c2e/ngx_pg_module.c#L1382-L1385
> for save and https://github.com/RekGRpth/ngx_pg_module/blob/06eab53160fcff2b19e73ed5bc787f534c2a4c2e/ngx_pg_module.c#L1362
> for restore
>
> вс, 1 мая 2022 г. в 03:19, Maxim Dounin <mdounin at mdounin.ru>:
> >
> > Hello!
> >
> > On Sat, Apr 30, 2022 at 10:03:42AM +0500, RekGRpth wrote:
> >
> > > # HG changeset patch
> > > # User RekGRpth <rekgrpth at gmail.com>
> > > # Date 1651294527 -18000
> > > #      Sat Apr 30 09:55:27 2022 +0500
> > > # Node ID 7b38618adf6317fc268315b8134a5e2b1bc96269
> > > # Parent  a736a7a613ea6e182ff86fbadcb98bb0f8891c0b
> > > upstream keepalive: save and restore connection data
> > >
> > > save connection data before keep it
> > > and
> > > restore connection data after yuild it
> > >
> > > diff -r a736a7a613ea -r 7b38618adf63 src/http/modules/ngx_http_upstream_keepalive_module.c
> > > --- a/src/http/modules/ngx_http_upstream_keepalive_module.c   Tue Feb 08 17:35:27 2022 +0300
> > > +++ b/src/http/modules/ngx_http_upstream_keepalive_module.c   Sat Apr 30 09:55:27 2022 +0500
> > > @@ -34,6 +34,8 @@
> > >      socklen_t                          socklen;
> > >      ngx_sockaddr_t                     sockaddr;
> > >
> > > +    void                              *data;
> > > +
> > >  } ngx_http_upstream_keepalive_cache_t;
> > >
> > >
> > > @@ -284,7 +286,7 @@
> > >
> > >      c->idle = 0;
> > >      c->sent = 0;
> > > -    c->data = NULL;
> > > +    c->data = item->data;
> > >      c->log = pc->log;
> > >      c->read->log = pc->log;
> > >      c->write->log = pc->log;
> > > @@ -390,6 +392,7 @@
> > >      c->write->handler = ngx_http_upstream_keepalive_dummy_handler;
> > >      c->read->handler = ngx_http_upstream_keepalive_close_handler;
> > >
> > > +    item->data = c->data;
> > >      c->data = item;
> > >      c->idle = 1;
> > >      c->log = ngx_cycle->log;
> >
> > Thanks for the patch.
> >
> > You may want to be more specific on what problem you are trying to
> > solve by this patch.
> >
> > --
> > Maxim Dounin
> > http://mdounin.ru/



More information about the nginx-devel mailing list