anchor.diff:  
   
   -spec handle_send(reference(), binary(), #state{}) ->
  -                       {reply, ok | {error, not_found}, #state{}}.
  +                   {reply, ok | {error, not_found}, #state{}} |
  +                   {stop, file:posix(), {error, file:posix()}, #state{}}.
   handle_send(Ref, Data, State) ->
     case lookup(Ref, State) of
       [{Ref, ReqId}] ->
  -      send({fcgi_stdin, ReqId, Data}, State),
  -      {reply, ok, State};
  +      case send({fcgi_stdin, ReqId, Data}, State) of
  +        {ok, NewState} ->
  +          {reply, ok, NewState};
  +        Error = {error, Reason} ->
  +          {stop, Reason, Error, State} end;
       [] -> {reply, {error, not_found}, State} end.
   
   -spec send_packet_msg(ex_fcgi_protocol:packet(),
  
positive.code:                  ({'EXIT', reference(), process, pid(), term()}, #state{}) ->
                     {noreply, #state{}};
                   ({tcp_closed, inet:socket()}, #state{}) ->
                     {stop, closed, #state{}}.
  %% @private
  handle_info({tcp, Socket, Data}, State = #state{socket = Socket}) ->
    % lookup before decode?
  
negative.code:   do_abort(Ref, State),
    {noreply, State};
  handle_info({tcp_closed, Socket}, State = #state{socket = Socket}) ->
    {noreply, State#state{socket = undefined}};
  handle_info(_Info, State) ->
    {noreply, State}.
  
  