anchor.diff:      handle_internal_chunk(State#state{chunk = {continue, CbState},
                                         body = Chunk}, Module, Function, Args);
   handle_msg({continue, Module, Function, Args}, 	#state{mod = ModData} = State) ->
  -    activate_once(ModData#mod.socket, ModData#mod.socket_type),
  +    setopts(ModData#mod.socket, ModData#mod.socket_type, [{active, once}]),
       {noreply, State#state{mfa = {Module, Function, Args}}};
   handle_msg({last, Body}, #state{headers = Headers, chunk = {_, CbState}} = State) -> 
       NewHeaders = Headers#http_request_h{'content-length' = integer_to_list(size(Body))},
  
positive.code:             NewState = handle_chunk(Module, Function, Args, State),
              {noreply, NewState};
  	NewMFA ->
  	    activate_once(Socket, SockType),
  	    case NewDataSize of
  		undefined ->
  		    {noreply, State#state{mfa = NewMFA}};
  
negative.code: 		    case httpd_request:body_chunk_first(Body, Length, MaxChunk) of 
                          %% This is the case that the we need more data to complete
                          %% the body but chunking to the mod_esi user is not enabled.
                          {Module, add_chunk = Function,  Args} ->
                              setopts(ModData#mod.socket, ModData#mod.socket_type, [{active, once}]),
  			    {noreply, State#state{mfa = 
  						      {Module, Function, Args}}};
                          %% Chunking to mod_esi user is enabled
                          {ok, {continue, Module, Function, Args}} ->
                              setopts(ModData#mod.socket, ModData#mod.socket_type, [{active, once}]),
                              {noreply, State#state{mfa = 
  						      {Module, Function, Args}}};
                          {ok, {{continue, Chunk}, Module, Function, Args}} ->
  