• Tatsuhiro Tsujikawa's avatar
    Clear 2 types of stream deferred flag indenpendently · be0f6dca
    Tatsuhiro Tsujikawa authored
    Previously when nghttp2_stream_resume_deferred_data() is called,
    deferred flags in stream->flags are all cleared.  This is not ideal
    because if application returned NGHTTP2_ERR_DEFERRED, and also that
    stream is deferred by flow control, then all flags are cleared and
    read callback will be invoked again.  This commit fixes this issue.
    This changes error condition of nghttp2_session_resume_data().
    Previously we return error if stream was deferred by flow control.
    Now we don't return error in this case.  We just clear
    NGHTTP2_FLAG_DEFERRED_USER and if still
    NGHTTP2_FLAG_DEFERRED_FLOW_CONTROL is set, just return 0.
    be0f6dca
nghttp2_stream.c 24.6 KB