diff options
author | Paul Joseph Davis <davisp@apache.org> | 2011-01-11 01:23:37 +0000 |
---|---|---|
committer | Paul Joseph Davis <davisp@apache.org> | 2011-01-11 01:23:37 +0000 |
commit | 89d5db841148b829a49dec2d8de7f6f2ff50945c (patch) | |
tree | ada709aec011100889f72b57f8a6948d622108d8 /src | |
parent | 79bea41bac270c6105427e5680f4b9716d8fd411 (diff) | |
parent | 6ce291d3d3ccac65c082c787e9540fd187c225be (diff) |
Tagging 1.0.2
git-svn-id: https://svn.apache.org/repos/asf/couchdb/tags/1.0.2@1057433 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r-- | src/ibrowse/ibrowse_http_client.erl | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/ibrowse/ibrowse_http_client.erl b/src/ibrowse/ibrowse_http_client.erl index ea759488..5dce321c 100644 --- a/src/ibrowse/ibrowse_http_client.erl +++ b/src/ibrowse/ibrowse_http_client.erl @@ -287,10 +287,14 @@ handle_sock_data(Data, #state{status = get_header}=State) -> {error, _Reason} -> shutting_down(State), {stop, normal, State}; - State_1 -> - active_once(State_1), - State_2 = set_inac_timer(State_1), - {noreply, State_2} + #state{socket = Socket, status = Status, cur_req = CurReq} = State_1 -> + case {Status, CurReq} of + {get_header, #request{caller_controls_socket = true}} -> + do_setopts(Socket, [{active, once}], State_1); + _ -> + active_once(State_1) + end, + {noreply, set_inac_timer(State_1)} end; handle_sock_data(Data, #state{status = get_body, @@ -683,6 +687,7 @@ send_req_1(From, Headers, Method, Body, Options, Timeout, #state{status = Status, socket = Socket} = State) -> + cancel_timer(State#state.inactivity_timer_ref, {eat_message, timeout}), ReqId = make_req_id(), Resp_format = get_value(response_format, Options, list), Caller_socket_options = get_value(socket_options, Options, []), |