Welcome! Log In Create A New Profile

Advanced

Re: [PATCH] Improved code readablity of ngx_cache_manager_process_cycle.

April 05, 2018 07:14AM
On Thu, Apr 05, 2018 at 12:37:19PM +0800, Zexuan Luo wrote:
> # HG changeset patch
> # User spacewander <spacewanderlzx@gmail.com>
> # 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;

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[PATCH] Improved code readablity of ngx_cache_manager_process_cycle.

Zexuan Luo 535 April 05, 2018 12:38AM

Re: [PATCH] Improved code readablity of ngx_cache_manager_process_cycle.

ru@nginx.com 474 April 05, 2018 07:14AM

Re: [PATCH] Improved code readablity of ngx_cache_manager_process_cycle.

Maxim Dounin 367 April 05, 2018 09:36AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 261
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready