anchor.diff:  
   do_get(port, #mochiweb_socket_server{port=Port}) ->
       Port;
  +do_get(waiting_acceptors, #mochiweb_socket_server{acceptor_pool=Pool}) ->
  +    sets:size(Pool);
   do_get(active_sockets, #mochiweb_socket_server{active_sockets=ActiveSockets}) ->
       ActiveSockets.
   
  
positive.code: 
  recycle_acceptor(Pid, State=#mochiweb_socket_server{
                          acceptor_pool=Pool,
                          listen=Listen,
                          loop=Loop,
                          active_sockets=ActiveSockets}) ->
      case sets:is_element(Pid, Pool) of
          true ->
              Acceptor = mochiweb_acceptor:start_link(self(), Listen, Loop),
              Pool1 = sets:add_element(Acceptor, sets:del_element(Pid, Pool)),
              State#mochiweb_socket_server{acceptor_pool=Pool1};
          false ->
              State#mochiweb_socket_server{active_sockets=ActiveSockets - 1}
      end.
  
  handle_info(Msg, State) when ?is_old_state(State) ->
  
negative.code: parse_options(Options) ->
      parse_options(Options, #mochiweb_socket_server{}).
  
  parse_options([], State=#mochiweb_socket_server{acceptor_pool_size=PoolSize,
                                                  max=Max}) ->
      case Max < PoolSize of
          true ->
              error_logger:info_report([{warning, "max is set lower than acceptor_pool_size"},
                                        {max, Max},
                                        {acceptor_pool_size, PoolSize}]);
          false ->
              ok
      end,
      State;
  parse_options([{name, L} | Rest], State) when is_list(L) ->
      Name = {local, list_to_atom(L)},
  