Просмотр исходного кода

Fix worker process hanging when it received partial headers and the caller controls the socket

pull/25/head
Filipe David Manana 14 лет назад
Родитель
Сommit
ab5ac287b8
1 измененных файлов: 8 добавлений и 4 удалений
  1. +8
    -4
      src/ibrowse_http_client.erl

+ 8
- 4
src/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,

Загрузка…
Отмена
Сохранить