anchor.diff:  clean_triggers(Triggers,IDs) ->
     lists:filter(fun({ID,_})->not lists:member(ID,IDs) end, Triggers).
   
  -%%exit if What is jailed
  +check_jailed(LD,_) when ?max_jailed < length(LD#ld.jailed) ->
  +  % we take a timeout when enough pids are jailed. conservative is good.
  +  erlang:start_timer(timeout(restart), self(), restart),
  +  stop_monitor(),
  +  flush(),
  +  throw(taking_timeout);
   check_jailed(LD,What) ->
  -  false = lists:member(What, LD#ld.jailed),
  -  erlang:start_timer(timeout(release), self(), {release, What}),
  -  LD#ld{jailed=[What|LD#ld.jailed]}.
  +  case lists:member(What, LD#ld.jailed) of
  +    false-> 
  +      erlang:start_timer(timeout(release), self(), {release, What}),
  +      LD#ld{jailed=[What|LD#ld.jailed]};
  +    true -> 
  +      throw(is_jailed)
  +    end.
   
   do_mon(LD) ->
     send_report(LD,sysMon),
  
positive.code:       end
    end.
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  mk_log(FD) -> fun(E)-> print_term(FD,expand_recs(E)) end.
  
  print_term(FD,Term) -> 
    case node(FD) == node() of
  
negative.code: check_triggers([T|Ts],Data,O) ->
    check_triggers(Ts,Data,try [check_trigger(T,Data)|O] catch _:_-> O end).
  
  check_trigger({ticker,true},_Data) ->
    {ticker,true};
  check_trigger({ID,T},Data) when is_function(T) -> 
    case T(get_measurement(ID,Data)) of
      true -> {ID,T};
      NewT when is_function(NewT)  -> {ID,NewT}
    end.
  
  delete_subscriber(Key,Subs) -> 
    lists:keydelete(Key,1,Subs).
  
  add_subscriber(Key,Val,Subs) ->
    try Sub = mk_subscriber(Key,Val),
        case lists:keysearch(Key,1,Subs) of
          false -> [{Key,Sub}|Subs];
          _     -> lists:keyreplace(Key,1,Subs,Sub)
        end
    catch _:R ->
        ?log([{subscriber_not_added,R},{Key,Val}])
      end.
  
  send_report(LD,Trigger) ->
    Report = make_report(Trigger,LD),
    [Sub(Report) || {_,Sub} <- LD#ld.subscribers].
  
  make_report(user,LD) ->
    reporter(user,LD#ld.userData);
  