annotate auto/summary @ 3440:88741ec7731a stable-0.7

merge r3294, r3305: Fix a bug introduced in r2032: After a child process has read a terminate message from a channel, the process tries to read the channel again. The kernel (at least FreeBSD) may preempt the process and sends a SIGIO signal to a master process. The master process sends a new terminate message, the kernel switches again to the the child process, and the child process reads the messages instead of an EAGAIN error. And this may repeat over and over. Being that the child process can not exit the cycle and test the termination flag set by the message handler. The fix disallow the master process to send a new terminate message on SIGIO signal reception. It may send the message only on SIGALARM signal.
author Igor Sysoev <igor@sysoev.ru>
date Mon, 01 Feb 2010 15:49:36 +0000
parents cb3d4dc8c6db
children 1d9063f7483c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 425
diff changeset
1
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 425
diff changeset
2 # Copyright (C) Igor Sysoev
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 425
diff changeset
3
210
00cafae0bdf1 nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
4
543
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
5 ### STUB
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
6
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
7 if [ $USE_THREADS != NO ]; then
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
8
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
9 cat << END
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
10
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
11 $0: error: the threads support is broken now.
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
12
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
13 END
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
14 exit 1
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
15 fi
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
16
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
17 ###
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
18
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
19
210
00cafae0bdf1 nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
20 echo
00cafae0bdf1 nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
21 echo "Configuration summary"
00cafae0bdf1 nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
22
337
4feff829a849 nginx-0.0.3-2004-05-19-00:28:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 285
diff changeset
23
1979
278a1d3b4dbf disable confusing messages about threads
Igor Sysoev <igor@sysoev.ru>
parents: 1352
diff changeset
24 #case $USE_THREADS in
278a1d3b4dbf disable confusing messages about threads
Igor Sysoev <igor@sysoev.ru>
parents: 1352
diff changeset
25 # rfork) echo " + using rfork()ed threads" ;;
278a1d3b4dbf disable confusing messages about threads
Igor Sysoev <igor@sysoev.ru>
parents: 1352
diff changeset
26 # pthreads) echo " + using libpthread threads library" ;;
278a1d3b4dbf disable confusing messages about threads
Igor Sysoev <igor@sysoev.ru>
parents: 1352
diff changeset
27 # libthr) echo " + using FreeBSD libthr threads library" ;;
278a1d3b4dbf disable confusing messages about threads
Igor Sysoev <igor@sysoev.ru>
parents: 1352
diff changeset
28 # libc_r) echo " + using FreeBSD libc_r threads library" ;;
278a1d3b4dbf disable confusing messages about threads
Igor Sysoev <igor@sysoev.ru>
parents: 1352
diff changeset
29 # linuxthreads) echo " + using FreeBSD LinuxThreads port library" ;;
278a1d3b4dbf disable confusing messages about threads
Igor Sysoev <igor@sysoev.ru>
parents: 1352
diff changeset
30 # NO) echo " + threads are not used" ;;
278a1d3b4dbf disable confusing messages about threads
Igor Sysoev <igor@sysoev.ru>
parents: 1352
diff changeset
31 # *) echo " + using lib$USE_THREADS threads library" ;;
278a1d3b4dbf disable confusing messages about threads
Igor Sysoev <igor@sysoev.ru>
parents: 1352
diff changeset
32 #esac
457
ded1284520cc nginx-0.1.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 446
diff changeset
33
265
6468241715e6 nginx-0.0.2-2004-02-20-19:48:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 255
diff changeset
34 if [ $USE_PCRE = DISABLED ]; then
501
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 493
diff changeset
35 echo " + PCRE library is disabled"
265
6468241715e6 nginx-0.0.2-2004-02-20-19:48:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 255
diff changeset
36
6468241715e6 nginx-0.0.2-2004-02-20-19:48:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 255
diff changeset
37 else
6468241715e6 nginx-0.0.2-2004-02-20-19:48:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 255
diff changeset
38 case $PCRE in
425
bd39260a1383 nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 424
diff changeset
39 YES) echo " + using system PCRE library" ;;
bd39260a1383 nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 424
diff changeset
40 NONE) echo " + PCRE library is not used" ;;
bd39260a1383 nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 424
diff changeset
41 NO) echo " + PCRE library is not found" ;;
bd39260a1383 nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 424
diff changeset
42 *) echo " + using PCRE library: $PCRE" ;;
265
6468241715e6 nginx-0.0.2-2004-02-20-19:48:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 255
diff changeset
43 esac
6468241715e6 nginx-0.0.2-2004-02-20-19:48:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 255
diff changeset
44 fi
212
679f60139863 nginx-0.0.1-2003-12-19-11:15:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 210
diff changeset
45
399
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 337
diff changeset
46 case $OPENSSL in
425
bd39260a1383 nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 424
diff changeset
47 YES) echo " + using system OpenSSL library" ;;
bd39260a1383 nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 424
diff changeset
48 NONE) echo " + OpenSSL library is not used" ;;
bd39260a1383 nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 424
diff changeset
49 NO) echo " + OpenSSL library is not found" ;;
bd39260a1383 nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 424
diff changeset
50 *) echo " + using OpenSSL library: $OPENSSL" ;;
399
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 337
diff changeset
51 esac
4e21d1291a14 nginx-0.0.7-2004-07-25-22:34:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 337
diff changeset
52
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
53 case $MD5 in
2010
bd6cc5370fc1 simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents: 1979
diff changeset
54 YES) echo " + md5: using $MD5_LIB library" ;;
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
55 NONE) echo " + md5 library is not used" ;;
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
56 NO) echo " + md5 library is not found" ;;
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
57 *) echo " + using md5 library: $MD5" ;;
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
58 esac
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
59
653
7cbef16c71a1 nginx-0.3.48-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
60 case $SHA1 in
2010
bd6cc5370fc1 simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents: 1979
diff changeset
61 YES) echo " + sha1: using $SHA1_LIB library" ;;
653
7cbef16c71a1 nginx-0.3.48-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
62 NONE) echo " + sha1 library is not used" ;;
7cbef16c71a1 nginx-0.3.48-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
63 NO) echo " + sha1 library is not found" ;;
7cbef16c71a1 nginx-0.3.48-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
64 *) echo " + using sha1 library: $SHA1" ;;
7cbef16c71a1 nginx-0.3.48-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
65 esac
7cbef16c71a1 nginx-0.3.48-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
66
210
00cafae0bdf1 nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
67 case $ZLIB in
425
bd39260a1383 nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 424
diff changeset
68 YES) echo " + using system zlib library" ;;
bd39260a1383 nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 424
diff changeset
69 NONE) echo " + zlib library is not used" ;;
bd39260a1383 nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 424
diff changeset
70 NO) echo " + zlib library is not found" ;;
bd39260a1383 nginx-0.0.10-2004-09-14-19:55:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 424
diff changeset
71 *) echo " + using zlib library: $ZLIB" ;;
210
00cafae0bdf1 nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
72 esac
00cafae0bdf1 nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
73
00cafae0bdf1 nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
74 echo
255
e6938ca7331a nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 253
diff changeset
75
e6938ca7331a nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 253
diff changeset
76
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
77 cat << END
493
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
78 nginx path prefix: "$NGX_PREFIX"
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
79 nginx binary file: "$NGX_SBIN_PATH"
1352
e958b3cab51a --sysconfdir=DIR
Igor Sysoev <igor@sysoev.ru>
parents: 653
diff changeset
80 nginx configuration prefix: "$NGX_CONF_PREFIX"
493
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
81 nginx configuration file: "$NGX_CONF_PATH"
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
82 nginx pid file: "$NGX_PID_PATH"
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
83 END
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
84
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 457
diff changeset
85 if test -n "$NGX_ERROR_LOG_PATH"; then
493
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
86 echo " nginx error log file: \"$NGX_ERROR_LOG_PATH\""
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 425
diff changeset
87 else
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 425
diff changeset
88 echo " nginx logs errors to stderr"
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 425
diff changeset
89 fi
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
90
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
91 cat << END
493
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
92 nginx http access log file: "$NGX_HTTP_LOG_PATH"
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
93 nginx http client request body temporary files: "$NGX_HTTP_CLIENT_TEMP_PATH"
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
94 nginx http proxy temporary files: "$NGX_HTTP_PROXY_TEMP_PATH"
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
95 nginx http fastcgi temporary files: "$NGX_HTTP_FASTCGI_TEMP_PATH"
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
96
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
97 END