Mercurial > hg > nginx
view auto/threads @ 3755:76e3a93821b1
fix race condition if during reconfiguration two cache managers try
to delete old inactive entries: one of them removes a entry just locked by
other manager from the queue and the rbtree as long inactive entry,
causes the latter manager to segfault leaving cache mutex locked,
the bug has been introduced in r3727
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 02 Sep 2010 14:31:47 +0000 |
parents | 458b6c3fea65 |
children |
line wrap: on
line source
# Copyright (C) Igor Sysoev case $USE_THREADS in rfork) have=NGX_THREADS . auto/have have=NGX_USE_RFORK . auto/have CORE_DEPS="$CORE_DEPS $FREEBSD_RFORK_DEPS" CORE_SRCS="$CORE_SRCS $FREEBSD_RFORK_SRCS" case "$NGX_PLATFORM" in *:i386) if [ \( $version -gt 500000 -a $version -lt 501000 \) \ -o $version -lt 491000 ] then CORE_SRCS="$CORE_SRCS $FREEBSD_RFORK_THREAD_SRCS" fi ;; esac ;; pthreads) have=NGX_THREADS . auto/have CORE_SRCS="$CORE_SRCS $PTHREAD_SRCS" CORE_LIBS="$CORE_LIBS -lpthread" ;; libthr) have=NGX_THREADS . auto/have CORE_SRCS="$CORE_SRCS $PTHREAD_SRCS" CORE_LIBS="$CORE_LIBS -lthr" ;; linuxthreads) have=NGX_THREADS . auto/have have=NGX_LINUXTHREADS . auto/have CFLAGS="$CFLAGS -D_THREAD_SAFE" CFLAGS="$CFLAGS -I /usr/local/include/pthread/linuxthreads" CORE_SRCS="$CORE_SRCS $PTHREAD_SRCS" CORE_LIBS="$CORE_LIBS -L /usr/local/lib -llthread -llgcc_r" ;; libc_r) case "$NGX_PLATFORM" in FreeBSD:[34]*) have=NGX_THREADS . auto/have CFLAGS="$CFLAGS -pthread" CORE_SRCS="$CORE_SRCS $PTHREAD_SRCS" CORE_LIBS="$CORE_LIBS -pthread" ;; FreeBSD:[56]*) have=NGX_THREADS . auto/have CORE_SRCS="$CORE_SRCS $PTHREAD_SRCS" CORE_LIBS="$CORE_LIBS -lc_r" ;; esac ;; NO) ;; *) have=NGX_THREADS . auto/have CORE_SRCS="$CORE_SRCS $PTHREAD_SRCS" CORE_LIBS="$CORE_LIBS -l$USE_THREADS" ;; esac