anchor.diff:  efile_timeout_handler(#state{n_timeouts = N} = State, _Parent) ->
       if
   	N =< 0 ->
  -	    {_Res, State2} = efile_release_archives(State),
  -	    State2#state{n_timeouts = ?N_TIMEOUTS};
  +	    prim_purge_cache(),
  +	    State#state{n_timeouts = ?N_TIMEOUTS};
   	true ->
   	    State#state{n_timeouts = N - 1}
       end.
  
positive.code:         end,
      cache_new(#prim_state{debug = Deb}).
  
  prim_release_archives(PS) ->
      debug(PS, release_archives),
      {Res, PS2} = prim_do_release_archives(PS, get(), []),
      debug(PS2, {return, Res}),
      {Res, PS2}.
  
  prim_do_release_archives(PS, [{ArchiveFile, DictVal} | KeyVals], Acc) ->
      Res = 
  	case DictVal of
  	    {primary, _PrimZip, _FI, _ParserFun} ->
  		ok; % Keep primary archive
  	    {Cache, _FI} ->
  		debug(PS, {release, cache, ArchiveFile}),
  		erase(ArchiveFile),
  		clear_cache(ArchiveFile, Cache)
  	end,
      case Res of
  	ok ->
  	    prim_do_release_archives(PS, KeyVals, Acc);
  	{error, Reason} ->
  	    prim_do_release_archives(PS, KeyVals, [{ArchiveFile, Reason} | Acc])
      end;
  prim_do_release_archives(PS, [], []) ->
      {ok, PS#prim_state{primary_archive = undefined}};
  prim_do_release_archives(PS, [], Errors) ->
      {{error, Errors}, PS#prim_state{primary_archive = undefined}}.
  
  prim_set_primary_archive(PS, undefined, undefined, undefined, _ParserFun) ->
      debug(PS, {set_primary_archive, clean}),
  
negative.code: 					  FileInfo, ParserFun),
      {Res,State#state{prim_state = PS2}}.
  
  efile_list_dir(#state{prim_state = PS} = State, Dir) ->
      {Res, PS2} = prim_list_dir(PS, Dir),
      {Res, State#state{prim_state = PS2}}.
  