anchor.diff:      end.
   
   get_nodes_info() ->
  -    get_nodes_info(get_nodes(all), []).
  -
  -get_nodes_info([Node|Nodes], InfoList) ->
  -    case get_node_info(Node) of
  -	{ok, Info} -> get_nodes_info(Nodes, [{Node, Info}|InfoList]);
  -	_          -> get_nodes_info(Nodes, InfoList)
  -    end;
  -get_nodes_info([], InfoList) ->
  -    {ok, InfoList}.
  +    Nodes = ets:select(sys_dist, [{#connection{node = '$1', _ = '_'}, [], ['$1']}]),
  +    {ok, lists:filtermap(
  +        fun(Node) ->
  +            case get_node_info(Node) of
  +                {ok, Info} -> {true, {Node, Info}};
  +                _ -> false
  +             end
  +        end, Nodes)}.
   
   %% ------------------------------------------------------------
   %% Misc. functions
  
positive.code: 
  terminate(no_network, State) ->
      lists:foreach(
        fun({Node, Type}) ->
  	      case Type of
  		  normal -> ?nodedown(Node, State);
  		  _ -> ok
  	      end
        end, get_up_nodes() ++ [{node(), normal}]);
  terminate(_Reason, State) ->
      lists:foreach(
        fun(#listen {listen = Listen,module = Mod}) ->
  	      Mod:close(Listen)
        end, State#state.listen),
      lists:foreach(
        fun({Node, Type}) ->
  	      case Type of
  		  normal -> ?nodedown(Node, State);
  		  _ -> ok
  	      end
        end, get_up_nodes() ++ [{node(), normal}]).
  
  
  %% ------------------------------------------------------------
  
negative.code: %%
  %%
  %%
  
  %% Return a list of all nodes that are 'up' and not hidden.
  get_nodes_up_normal() ->
      ets:select(sys_dist, [{#connection{node = '$1', state = up, type = normal, _ = '_'}, [], ['$1']}]).
  
  ticker(Kernel, Tick) when is_integer(Tick) ->
      process_flag(priority, max),
  