From 4178b67e7970ff02926e79649db5ab473b46cf30 Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Wed, 3 Jul 2024 17:16:38 -0700 Subject: [PATCH] Clarify when Client.close must be called (#1255) --- pkgs/http/lib/src/client.dart | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/http/lib/src/client.dart b/pkgs/http/lib/src/client.dart index dace470a75..6de5698104 100644 --- a/pkgs/http/lib/src/client.dart +++ b/pkgs/http/lib/src/client.dart @@ -148,8 +148,11 @@ abstract interface class Client { /// Closes the client and cleans up any resources associated with it. /// - /// It's important to close each client when it's done being used; failing to - /// do so can cause the Dart process to hang. + /// Some clients maintain a pool of network connections that will not be + /// disconnected until the client is closed. This may cause programs using + /// using the Dart SDK (`dart run`, `dart test`, `dart compile`, etc.) to + /// not terminate until the client is closed. Programs run using the Flutter + /// SDK can still terminate even with an active connection pool. /// /// Once [close] is called, no other methods should be called. If [close] is /// called while other asynchronous methods are running, the behavior is