You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by da...@apache.org on 2014/02/12 07:21:16 UTC

[27/33] ibrowse commit: updated refs/heads/import-master to 1167b0e

Applied 2 more ibrowse fixes already submitted upstream

https://github.com/cmullaparthi/ibrowse/pull/24
https://github.com/cmullaparthi/ibrowse/pull/25



git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1056395 13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/couchdb-ibrowse/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-ibrowse/commit/cb08a0db
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-ibrowse/tree/cb08a0db
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-ibrowse/diff/cb08a0db

Branch: refs/heads/import-master
Commit: cb08a0db501d5478f305b4916d49da77a15e2a71
Parents: 99da0af
Author: Filipe David Borba Manana <fd...@apache.org>
Authored: Fri Jan 7 17:15:24 2011 +0000
Committer: Filipe David Borba Manana <fd...@apache.org>
Committed: Fri Jan 7 17:15:24 2011 +0000

----------------------------------------------------------------------
 ibrowse_http_client.erl | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-ibrowse/blob/cb08a0db/ibrowse_http_client.erl
----------------------------------------------------------------------
diff --git a/ibrowse_http_client.erl b/ibrowse_http_client.erl
index ea75948..5dce321 100644
--- a/ibrowse_http_client.erl
+++ b/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, []),