Browse Source

Don't trigger new inactivity timer when socket data is received and caller controls the socket

Like in synchronous programming, in makes sense to start an inactivity timer only when the caller
does a "recv" call and cancel the timer as soon as data is received from the socket.
pull/29/head
Filipe David Manana 14 years ago
parent
commit
20b7f662f5
1 changed files with 7 additions and 2 deletions
  1. +7
    -2
      src/ibrowse_http_client.erl

+ 7
- 2
src/ibrowse_http_client.erl View File

@ -330,8 +330,13 @@ handle_sock_data(Data, #state{status = get_body,
active_once(State_1)
end,
State_2 = State_1#state{interim_reply_sent = false},
State_3 = set_inac_timer(State_2),
{noreply, State_3};
case Ccs of
true ->
cancel_timer(State_2#state.inactivity_timer_ref, {eat_message, timeout}),
{noreply, State_2#state{inactivity_timer_ref = undefined}};
_ ->
{no_reply, set_inac_timer(State_2)}
end;
State_1 ->
active_once(State_1),
State_2 = set_inac_timer(State_1),

Loading…
Cancel
Save