anchor.diff:  	    R ! {self(), accept},
   	    gserv_loop(GS, RS, Rnum-1);
   	{From, done_client, Int} ->
  -	    GS2 = GS#gs{sessions = GS#gs.sessions + 1,
  -			reqs = GS#gs.reqs + Int},
  -	    if
  +	    GS2 = if
  +		      Int == 0 -> GS;
  +		      Int > 0 -> GS#gs{sessions = GS#gs.sessions + 1,
  +				       reqs = GS#gs.reqs + Int}
  +		  end,
  +    if
   		Rnum == 8 ->
   		    From ! {self(), stop},
   		    gserv_loop(GS2, Ready, Rnum);
  
positive.code: 		    error_logger:error_msg("Yaws process died: ~p~n", [Reason]),
  		    exit(normal)
  	    end,
  
  	    %% we cache processes
  	    receive
  		{Top, stop} ->
  		    exit(normal);
  
negative.code: 	    yaws_debug:derror("Failed to accept: ~p~n", [ERR]),
  	    exit(normal)
      end.
  
  
  
  %%%----------------------------------------------------------------------
  