Skip to content

Commit

Permalink
remove unnecessary lock backup part
Browse files Browse the repository at this point in the history
  • Loading branch information
ZigzagAK committed Oct 8, 2017
1 parent 6a7838d commit f8ee679
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 25 deletions.
12 changes: 6 additions & 6 deletions src/ngx_dynamic_upstream_module.c
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ ngx_dynamic_upstream_create_response_buf(ngx_http_upstream_rr_peers_t *peers, ng

primary = peers;

lock_peers(primary);
ngx_http_upstream_rr_peers_rlock(primary);

backup = primary->next;

Expand All @@ -138,7 +138,7 @@ ngx_dynamic_upstream_create_response_buf(ngx_http_upstream_rr_peers_t *peers, ng
for (peer = peers->peer; peer; peer = peer->next) {

if (peer->name.len > 511) {
unlock_peers(primary);
ngx_http_upstream_rr_peers_unlock(primary);
return NGX_ERROR;
}

Expand All @@ -159,7 +159,7 @@ ngx_dynamic_upstream_create_response_buf(ngx_http_upstream_rr_peers_t *peers, ng
}
}

unlock_peers(primary);
ngx_http_upstream_rr_peers_unlock(primary);

return NGX_OK;
}
Expand All @@ -174,7 +174,7 @@ ngx_dynamic_upstream_stream_create_response_buf(ngx_stream_upstream_rr_peers_t *

primary = peers;

lock_peers(primary);
ngx_http_upstream_rr_peers_rlock(primary);

backup = primary->next;

Expand All @@ -184,7 +184,7 @@ ngx_dynamic_upstream_stream_create_response_buf(ngx_stream_upstream_rr_peers_t *
for (peer = peers->peer; peer; peer = peer->next) {

if (peer->name.len > 511) {
unlock_peers(primary);
ngx_http_upstream_rr_peers_unlock(primary);
return NGX_ERROR;
}

Expand All @@ -205,7 +205,7 @@ ngx_dynamic_upstream_stream_create_response_buf(ngx_stream_upstream_rr_peers_t *
}
}

unlock_peers(primary);
ngx_http_upstream_rr_peers_unlock(primary);

return NGX_OK;
}
Expand Down
8 changes: 4 additions & 4 deletions src/ngx_dynamic_upstream_op.c
Original file line number Diff line number Diff line change
Expand Up @@ -246,9 +246,9 @@ ngx_dynamic_upstream_op_impl(ngx_log_t *log, ngx_dynamic_upstream_op_t *op,
}

if (op->op_param & NGX_DYNAMIC_UPSTEAM_OP_PARAM_STREAM) {
lock_peers(primary->stream);
ngx_http_upstream_rr_peers_wlock(primary->stream);
} else {
lock_peers(primary->http);
ngx_http_upstream_rr_peers_wlock(primary->http);
}

switch (op->op) {
Expand All @@ -271,9 +271,9 @@ ngx_dynamic_upstream_op_impl(ngx_log_t *log, ngx_dynamic_upstream_op_t *op,
}

if (op->op_param & NGX_DYNAMIC_UPSTEAM_OP_PARAM_STREAM) {
unlock_peers(primary->stream);
ngx_http_upstream_rr_peers_unlock(primary->stream);
} else {
unlock_peers(primary->http);
ngx_http_upstream_rr_peers_unlock(primary->http);
}

if (shpool) {
Expand Down
15 changes: 0 additions & 15 deletions src/ngx_dynamic_upstream_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,4 @@ ngx_int_t ngx_dynamic_upstream_build_op(ngx_http_request_t *r, ngx_dynamic_upstr
ngx_int_t ngx_dynamic_upstream_op_impl(ngx_log_t *log, ngx_dynamic_upstream_op_t *op,
ngx_slab_pool_t *shpool, ngx_upstream_rr_peers_t *primary);

#define lock_peers(primary) { \
ngx_http_upstream_rr_peers_wlock(primary); \
if (primary->next) { \
ngx_http_upstream_rr_peers_wlock(primary->next); \
} \
}

#define unlock_peers(primary) { \
if (primary->next && primary->next->rwlock) { \
ngx_http_upstream_rr_peers_unlock(primary->next); \
} \
ngx_http_upstream_rr_peers_unlock(primary); \
}


#endif /* NGX_DYNAMIC_UPSTEAM_OP_H */

0 comments on commit f8ee679

Please sign in to comment.