anchor.diff:  
   
   start_stats(SC) ->
  -    {ok, Pid} = yaws_stats:start_link(),
  -    SC#sconf{stats = Pid}.
  -
  +    case ?sc_has_statistics(SC) of
  +        true ->
  +            {ok, Pid} = yaws_stats:start_link(),
  +            SC#sconf{stats = Pid};
  +        false ->
  +            SC
  +    end.
  +
  +stop_stats(SC) ->
  +    case SC#sconf.stats of
  +        undefined ->
  +            SC;
  +        Pid when is_pid(Pid) ->
  +            %% Unlink the stats process before stopping it to be sure to not
  +            %% receive the {'EXIT..} message in gserv_loop.
  +            unlink(Pid),
  +            yaws_stats:stop(Pid),
  +            SC#sconf{stats = undefined}
  +    end.
   
   gserv_loop(GS, Ready, Rnum, Last) ->
       receive
  
positive.code:             end,
  
              %% Stop yaws_stats processes, if needed
              foreach(fun(#sconf{stats=Pid}) when is_pid(Pid) ->
                              yaws_stats:stop(Pid);
                         (_) ->
                              ok
                      end, GS#gs.group),
  
              %% Close softly all opened connections
              {links, Ls1} = process_info(self(), links),
  
negative.code:                                            [OldSc, GS#gs.group]),
                      erlang:error(nosc);
                  true ->
                      stop_stats(OldSc),
                      NewSc1 = start_stats(NewSc),
                      stop_ready(Ready, Last),
                      NewSc2 = clear_ets_complete(NewSc1),
                      GS2 = GS#gs{group = yaws:insert_at(
  