anchor.diff:              cancel_timer(Timer, Socket),
               lhttpc_sock:close(Socket, Ssl),
               OldSockets = dict:fetch(Destination, Destinations),
  -            NewDestinations = case lists:delete(Socket, OldSockets) of
  -                []      -> dict:erase(Destination, Destinations);
  -                Sockets -> dict:store(Destination, Sockets, Destinations)
  -            end,
               State#httpc_man{
  -                destinations = NewDestinations,
  +                destinations = update_dest(Destination, lists:delete(Socket,
  +                        OldSockets), Destinations),
                   sockets = dict:erase(Socket, State#httpc_man.sockets)
               };
           error ->
  
positive.code:                     lhttpc_sock:setopts(Socket, [{active, true}], Ssl),
                      {no_socket, State}
              end;
          {ok, []} ->
              {no_socket, State};
          error ->
              {no_socket, State}
      end.
  
negative.code:         sockets = dict:store(Socket, {Destination, Timer},
              State#httpc_man.sockets)
      }.
  
  update_dest(Destination, [], Destinations) ->
      dict:erase(Destination, Destinations);
  update_dest(Destination, Sockets, Destinations) ->
      dict:store(Destination, Sockets, Destinations).
  
  close_sockets(Sockets) ->
      lists:foreach(fun({Socket, {{_, _, Ssl}, Timer}}) ->
  