File tree Expand file tree Collapse file tree
httpclient5/src/main/java/org/apache/hc/client5/http/impl/async Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3131import java .util .concurrent .Executors ;
3232import java .util .concurrent .Future ;
3333import java .util .concurrent .ThreadFactory ;
34+ import java .util .concurrent .TimeUnit ;
3435import java .util .concurrent .atomic .AtomicReference ;
3536
3637import org .apache .hc .core5 .concurrent .FutureCallback ;
@@ -133,7 +134,18 @@ public final void close(final CloseMode closeMode) {
133134 }
134135 ioReactor .initiateShutdown ();
135136 ioReactor .close (closeMode );
136- executorService .shutdownNow ();
137+ if (closeMode == CloseMode .GRACEFUL ) {
138+ executorService .shutdown ();
139+ try {
140+ if (!executorService .awaitTermination (1 , TimeUnit .SECONDS )) {
141+ executorService .shutdownNow ();
142+ }
143+ } catch (final InterruptedException ignore ) {
144+ Thread .currentThread ().interrupt ();
145+ }
146+ } else {
147+ executorService .shutdownNow ();
148+ }
137149 internalClose (closeMode );
138150 }
139151
You can’t perform that action at this time.
0 commit comments