Commit 67df657
committed
MEDIUM: server: close new idle conns if server in maintenance
Currently, when a server is set on maintenance mode, its idle connection
are scheduled for purge. However, this does not prevent currently used
connection to become idle later on, even if the server is still off.
Change this behavior : an idle connection is now rejected by the server
if it is in maintenance. This is implemented with a new condition in
srv_add_to_idle_list() which returns an error value. In this case, muxes
stream detach callback will immediately free the connection.
A similar change is also performed in each MUX and SSL I/O handlers and
in conn_notify_mux(). An idle connection is not reinserted in its idle
list if server is in maintenance, but instead it is immediately freed.1 parent f234b40 commit 67df657
File tree
7 files changed
+77
-18
lines changed- src
7 files changed
+77
-18
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
213 | 213 | | |
214 | 214 | | |
215 | 215 | | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
216 | 223 | | |
217 | 224 | | |
218 | 225 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3091 | 3091 | | |
3092 | 3092 | | |
3093 | 3093 | | |
3094 | | - | |
3095 | | - | |
3096 | | - | |
| 3094 | + | |
| 3095 | + | |
| 3096 | + | |
| 3097 | + | |
| 3098 | + | |
| 3099 | + | |
| 3100 | + | |
| 3101 | + | |
| 3102 | + | |
3097 | 3103 | | |
3098 | 3104 | | |
| 3105 | + | |
| 3106 | + | |
| 3107 | + | |
| 3108 | + | |
3099 | 3109 | | |
3100 | 3110 | | |
3101 | 3111 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4328 | 4328 | | |
4329 | 4329 | | |
4330 | 4330 | | |
4331 | | - | |
4332 | | - | |
4333 | | - | |
| 4331 | + | |
| 4332 | + | |
| 4333 | + | |
| 4334 | + | |
| 4335 | + | |
| 4336 | + | |
| 4337 | + | |
| 4338 | + | |
| 4339 | + | |
4334 | 4340 | | |
4335 | 4341 | | |
| 4342 | + | |
| 4343 | + | |
| 4344 | + | |
| 4345 | + | |
4336 | 4346 | | |
4337 | 4347 | | |
4338 | 4348 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4995 | 4995 | | |
4996 | 4996 | | |
4997 | 4997 | | |
4998 | | - | |
4999 | | - | |
5000 | | - | |
| 4998 | + | |
| 4999 | + | |
| 5000 | + | |
| 5001 | + | |
| 5002 | + | |
| 5003 | + | |
| 5004 | + | |
| 5005 | + | |
| 5006 | + | |
5001 | 5007 | | |
5002 | 5008 | | |
5003 | | - | |
| 5009 | + | |
5004 | 5010 | | |
5005 | 5011 | | |
| 5012 | + | |
| 5013 | + | |
| 5014 | + | |
| 5015 | + | |
| 5016 | + | |
5006 | 5017 | | |
5007 | 5018 | | |
5008 | 5019 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2587 | 2587 | | |
2588 | 2588 | | |
2589 | 2589 | | |
2590 | | - | |
2591 | | - | |
2592 | | - | |
| 2590 | + | |
| 2591 | + | |
| 2592 | + | |
| 2593 | + | |
| 2594 | + | |
| 2595 | + | |
| 2596 | + | |
| 2597 | + | |
| 2598 | + | |
2593 | 2599 | | |
2594 | 2600 | | |
| 2601 | + | |
| 2602 | + | |
| 2603 | + | |
| 2604 | + | |
2595 | 2605 | | |
2596 | 2606 | | |
2597 | 2607 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7327 | 7327 | | |
7328 | 7328 | | |
7329 | 7329 | | |
| 7330 | + | |
7330 | 7331 | | |
7331 | 7332 | | |
7332 | 7333 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6478 | 6478 | | |
6479 | 6479 | | |
6480 | 6480 | | |
6481 | | - | |
| 6481 | + | |
6482 | 6482 | | |
6483 | | - | |
6484 | | - | |
6485 | | - | |
6486 | | - | |
| 6483 | + | |
| 6484 | + | |
| 6485 | + | |
| 6486 | + | |
| 6487 | + | |
| 6488 | + | |
| 6489 | + | |
| 6490 | + | |
| 6491 | + | |
| 6492 | + | |
| 6493 | + | |
| 6494 | + | |
| 6495 | + | |
| 6496 | + | |
6487 | 6497 | | |
6488 | 6498 | | |
6489 | 6499 | | |
| |||
0 commit comments