anchor.diff:  %% @see //stdlib/gen_server:init/1
   %% @private
   %%
  -init([Rotate] = _Args) ->
  +init([Rotate] = _Args) when is_integer(Rotate), Rotate > 0 ->
   	process_flag(trap_exit, true),
  +	Interval = case round_up(Rotate) of
  +		Rotate ->
  +			Rotate;
  +		I ->
  +			error_logger:warning_report(["Using sane log rotation interval",
  +					{rotate, Rotate}, {interval, I}]),
  +			I
  +	end,
   	{ok, Directory} = application:get_env(ipdr_dir),
  -	State = #state{rotate_time = Rotate, ipdr_dir = Directory,
  -			last_rotated_at = calendar:local_time()},
  +	State = #state{interval = Interval, dir = Directory},
   	case file:make_dir(Directory) of
   		ok ->
  -			{ok, State, 0};
  +			{ok, State, wait(Interval)};
   		{error, eexist} ->
  -			{ok, State, 0};
  +			{ok, State, wait(Interval)};
   		{error, Reason} ->
   			{stop, Reason}
   	end.
  
positive.code: %%  internal functions
  %%----------------------------------------------------------------------
  
  
negative.code: 			terminate/2, code_change/3]).
  
  -record(state,
  			{interval :: pos_integer(),
  			dir :: string()}).
  -type state() :: #state{}.
  
  %% support deprecated_time_unit()
  -define(MILLISECOND, milli_seconds).
  