anchor.diff:  %%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %%% socket gen_server ultra light
   
  -socket_open(SocketOpts, Timeout) ->
  -    Opts = [{type,seqpacket},{active,once},binary|SocketOpts],
  +socket_open(SockOpts0, Timeout) ->
  +    SockOpts =
  +	case lists:keyfind(active,1,SockOpts0) of
  +	    false ->
  +		[{active,once}|SockOpts0];
  +	    _ ->
  +		SockOpts0
  +	end,
  +    Opts = [{type,seqpacket},binary|SockOpts],
       Starter =
   	fun () ->
   		{ok,Socket} =
  
positive.code: 	end,
      s_start(Starter, Timeout).
  
  socket_peeloff(Socket, AssocId, Timeout) ->
      Opts = [{active,once},binary],
      Starter =
  	fun () ->
  		{ok,NewSocket} =
  
negative.code:     end.
  
  
  peeloff_active_once(doc) ->
      "Peel off an SCTP stream socket ({active,once})";
  peeloff_active_once(suite) ->
      [];
  
  peeloff_active_once(Config) ->
      peeloff(Config, [{active,once}]).
  
  peeloff_active_true(doc) ->
      "Peel off an SCTP stream socket ({active,true})";
  peeloff_active_true(suite) ->
      [];
  
  peeloff_active_true(Config) ->
      peeloff(Config, [{active,true}]).
  
  peeloff(Config, SockOpts) when is_list(Config) ->
      ?line Addr = {127,0,0,1},
      ?line Stream = 0,
      ?line Timeout = 333,
      ?line S1 = socket_open([{ifaddr,Addr}|SockOpts], Timeout),
      ?line ?LOGVAR(S1),
      ?line P1 = socket_call(S1, get_port),
      ?line ?LOGVAR(P1),
      ?line Socket1 = socket_call(S1, get_socket),
      ?line ?LOGVAR(Socket1),
      ?line socket_call(S1, {listen,true}),
      ?line S2 = socket_open([{ifaddr,Addr}|SockOpts], Timeout),
      ?line ?LOGVAR(S2),
      ?line P2 = socket_call(S2, get_port),
      ?line ?LOGVAR(P2),
  