anchor.diff:  -behaviour(supervisor_bridge).
   
   %% Supervisor bridge exports
  --export([start_link/0, init/1, terminate/2, start_raw/0, run_once/0]).
  +-export([start_link/0, init/1, terminate/2]).
   
   %% Server export
   -export([server_init/2, main_loop/1]).
  
positive.code:     after Timeout ->
  	    Pid ! {R, {error, timeout}}
      end.
  
  -spec terminate(term(), pid()) -> 'ok'.
  
  terminate(_Reason, Pid) ->
      (catch exit(Pid, kill)),
      ok.
  
  %%-----------------------------------------------------------------------
  %% Server API
  
negative.code: 	    Res2
      end.
  
  ensure_started() ->
      case whereis(?MODULE) of
  	undefined ->
  	    ChildSpec =
                  {?PROCNAME_SUP, {?MODULE, start_link, []}, temporary,
  		 1000, worker, [?MODULE]},
              ensure_started([kernel_safe_sup, net_sup], ChildSpec);
  	Pid ->
  	    Pid
      end.
  
  ensure_started([Supervisor|Supervisors], ChildSpec) ->
      case whereis(Supervisor) of
          undefined ->
              ensure_started(Supervisors, ChildSpec);
          _ ->
              do_start(Supervisor, ChildSpec),
              case whereis(?MODULE) of
                  undefined ->
                      exit({could_not_start_server, ?MODULE});
                  Pid ->
                      Pid
              end
      end;
  ensure_started([], _ChildSpec) ->
      %% Icky fallback, run once without supervisor
      spawn(fun run_once/0).
  
  do_start(Sup, C) ->
      {Child,_,_,_,_,_} = C,
      case supervisor:start_child(Sup,C) of
  