anchor.diff:          [?MODULE_STRING, Reason]
          ),
         cleanup(Ref, Reason),
  -      exit(Reason)
  +      exit(Reason);
  +    {'EXIT', Parent, _} ->
  +      cleanup(State, "parent stopped"),
  +      exit(normal);
  +    {system, From, Request} ->
  +      sys:handle_system_msg(
  +        Request, From, Parent, ?MODULE, [],
  +        {wait_response, State})
     after State#state.hackney_timeout ->
       cleanup(State, timeout),
       exit(timeout)
  
positive.code:   ).
  
  init(Parent, Conn, Options) ->
    proc_lib:init_ack(Parent, {ok, self()}),
    %% initialize the state
    State = #state{ parent = Parent,
  
negative.code:     stop ->
        cleanup(State, "listener stopped"),
        exit(normal);
      {'EXIT', Parent, _} ->
        cleanup(State, "parent stopped"),
        exit(normal);
      {system, From, Request} ->
        sys:handle_system_msg(
          Request, From, Parent, ?MODULE, [],
  