varnishd: always shutdown both ends to a backend#4064
Conversation
Signed-off-by: Asad Sajjad Ahmed <asadsa@varnish-software.com>
nigoroll
left a comment
There was a problem hiding this comment.
Looks like a good catch to me, but should we not handle the pfd as in vcp_handle() here?
- call the
closemethod, because otherwise we leak file descriptors - free the
pfd, because otherwise we leak memory
The loop below is waiting for waiters to notice the shutdown and call |
|
Actually on this topic, this sleeping loop is something we should move as a CLI hook, waiting asynchronously for connection pools to be freed before deleting them for good. |
Ah, this makes sense, thank you. FWIW, @asadsa92 please add such explanations to the issue description or commit message. Leaving it to reviewers to figure out for themselves is no good use of their time.
yes. |
I will follow up on that, I know someone who can work on this. |
Sorry about that. |
|
bugwash: merge |
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
Before, we would wait in a blocking loop for connection pools to be freed before deleting them for good. This commit transforms this blocking loop into a CLI hook that will delete the freed connection pools at each trigger. Refs varnishcache#4064 Better diff with the --ignore-all-space option.
No description provided.