view auto/endianness @ 8553:a9f6540e61da quic

QUIC: asynchronous shutdown. Previously, when cleaning up a QUIC stream in shutdown mode, ngx_quic_shutdown_quic() was called, which could close the QUIC connection right away. This could be a problem if the connection was referenced up the stack. For example, this could happen in ngx_quic_init_streams(), ngx_quic_close_streams(), ngx_quic_create_client_stream() etc. With a typical HTTP/3 client the issue is unlikely because of HTTP/3 uni streams which need a posted event to close. In this case QUIC connection cannot be closed right away. Now QUIC connection read event is posted and it will shut down the connection asynchronously.
author Roman Arutyunyan <arut@nginx.com>
date Thu, 05 Aug 2021 09:20:32 +0300
parents e3faa5fb7772
children
line wrap: on
line source


# Copyright (C) Igor Sysoev
# Copyright (C) Nginx, Inc.


echo $ngx_n "checking for system byte ordering ...$ngx_c"

cat << END >> $NGX_AUTOCONF_ERR

----------------------------------------
checking for system byte ordering

END


cat << END > $NGX_AUTOTEST.c

int main(void) {
    int i = 0x11223344;
    char *p;

    p = (char *) &i;
    if (*p == 0x44) return 0;
    return 1;
}

END

ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
          -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"

eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"

if [ -x $NGX_AUTOTEST ]; then
    if $NGX_AUTOTEST >/dev/null 2>&1; then
        echo " little endian"
        have=NGX_HAVE_LITTLE_ENDIAN . auto/have
    else
        echo " big endian"
    fi

    rm -rf $NGX_AUTOTEST*

else
    rm -rf $NGX_AUTOTEST*

    echo
    echo "$0: error: cannot detect system byte ordering"
    exit 1
fi