anchor.diff:  close_accepted_if_max(_,_) ->
       ok.
   
  -inc_con(GS) ->
  -    GS#gs{connections=GS#gs.connections + 1}.
  -
  -dec_con(GS) ->
  -    GS#gs{connections=GS#gs.connections - 1}.
  -
   code_change(_OldVsn, Data, _Extra) ->
       {ok, Data}.
   
  
positive.code:         {_From, next, Accepted} when Ready == [] ->
   	    close_accepted_if_max(GS,Accepted),
   	    New = acceptor(GS),
   	    GS2 = inc_con(GS),
              gserv_loop(GS2#gs{sessions = GS2#gs.sessions + 1}, Ready, Rnum, New);
          {_From, next, Accepted} ->
  	    close_accepted_if_max(GS,Accepted),
              [{_Then, R}|RS] = Ready,
              R ! {self(), accept},
   	    GS2 = inc_con(GS),
              gserv_loop(GS2, RS, Rnum-1, R);
  	{_From, decrement} ->
   	    GS2 = dec_con(GS),
   	    gserv_loop(GS2, Ready, Rnum, Last);
          {From, done_client, Int} ->
              GS2 = if
  		      Int == 0 -> dec_con(GS#gs{sessions = GS#gs.sessions - 1});
  		      Int > 0 -> dec_con(GS#gs{sessions = GS#gs.sessions - 1,
   					       reqs = GS#gs.reqs + Int})
                    end,
              if
                  Rnum == 8 ->
  
negative.code:         [] ->
              proc_lib:spawn_link(?MODULE, acceptor0, [GS, self()]);
          Opts ->
              %% as we tightly controlled what is set in options, we can
              %% blindly add "link" to get a linked process as per default
              %% case and use the provided options.
              proc_lib:spawn_opt(?MODULE, acceptor0, [GS, self()], [link | Opts])
      end.
  acceptor0(GS, Top) ->
  