1
0
mirror of https://github.com/square/okhttp.git synced 2026-01-24 04:02:07 +03:00

Cleanup when a job finishes, cleanly or otherwise.

This also names the job thread.
This commit is contained in:
jwilson
2014-01-07 22:41:46 -05:00
parent bd4ef0935c
commit 2fb9064eb6

View File

@@ -44,6 +44,7 @@ final class Job implements Runnable {
/** The request; possibly a consequence of redirects or auth headers. */
private Request request;
private HttpEngine engine;
public Job(Dispatcher dispatcher, OkHttpClient client, Request request,
Response.Receiver responseReceiver) {
@@ -66,6 +67,8 @@ final class Job implements Runnable {
}
@Override public void run() {
String oldName = Thread.currentThread().getName();
Thread.currentThread().setName("OkHttp " + request.urlString());
try {
Response response = execute();
if (response != null && !canceled) {
@@ -77,8 +80,8 @@ final class Job implements Runnable {
.exception(e)
.build());
} finally {
// TODO: close the response body
// TODO: release the HTTP engine
engine.release(true); // Release the connection if it isn't already released.
Thread.currentThread().setName(oldName);
dispatcher.finished(this);
}
}
@@ -114,7 +117,7 @@ final class Job implements Runnable {
request = requestBuilder.build();
}
HttpEngine engine = new HttpEngine(client, request, false, connection, null);
engine = new HttpEngine(client, request, false, connection, null);
engine.sendRequest();
if (body != null) {