Hello! On Thu, Apr 05, 2018 at 02:12:04PM +0300, Ruslan Ermilov wrote:
> On Thu, Apr 05, 2018 at 12:37:19PM +0800, Zexuan Luo wrote: > > # HG changeset patch > > # User spacewander <[email protected]> > > # Date 1522902794 -28800 > > # Thu Apr 05 12:33:14 2018 +0800 > > # Branch ident > > # Node ID e0834ca20c9c68c4f0728f85efb3651732134ee2 > > # Parent d4cc2edb4ff8391d0c7419e91e6fcc988c510654 > > Improved code readablity of ngx_cache_manager_process_cycle. > > > > diff -r d4cc2edb4ff8 -r e0834ca20c9c src/os/unix/ngx_process_cycle.c > > --- a/src/os/unix/ngx_process_cycle.c Tue Apr 03 17:38:10 2018 +0300 > > +++ b/src/os/unix/ngx_process_cycle.c Thu Apr 05 12:33:14 2018 +0800 > > @@ -1128,7 +1128,7 @@ > > { > > ngx_cache_manager_ctx_t *ctx = data; > > > > - void *ident[4]; > > + u_char ident[offsetof(ngx_connection_t, fd) + > > sizeof(ngx_socket_t)]; > > ngx_event_t ev; > > > > /* > > @@ -1148,7 +1148,7 @@ > > ev.handler = ctx->handler; > > ev.data = ident; > > ev.log = cycle->log; > > - ident[3] = (void *) -1; > > + *(ngx_socket_t *)(ident + offsetof(ngx_connection_t, fd)) = -1; > > > > ngx_use_accept_mutex = 0; > > How's this instead? A similar comment also exists in ngx_resolver.h. > > diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c > --- a/src/os/unix/ngx_process_cycle.c > +++ b/src/os/unix/ngx_process_cycle.c > @@ -1128,8 +1128,10 @@ ngx_cache_manager_process_cycle(ngx_cycl > { > ngx_cache_manager_ctx_t *ctx = data; > > - void *ident[4]; > - ngx_event_t ev; > + /* event ident must be after 3 pointers as in ngx_connection_t */ > + void *ident[4]; > + ngx_event_t ev; > + ngx_connection_t *c; > > /* > * Set correct process type since closing listening Unix domain socket > @@ -1144,11 +1146,13 @@ ngx_cache_manager_process_cycle(ngx_cycl > > ngx_worker_process_init(cycle, -1); > > + c = (ngx_connection_t *) ident; > + c->fd = (ngx_socket_t) -1; > + > ngx_memzero(&ev, sizeof(ngx_event_t)); > ev.handler = ctx->handler; > - ev.data = ident; > + ev.data = c; > ev.log = cycle->log; > - ident[3] = (void *) -1; > > ngx_use_accept_mutex = 0; Both variants seems to be awful compared to what we have now. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-devel mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-devel
