annotate auto/lib/pcre/patch.pcre.c @ 2327:be8c6159590b stable-0.6

r2281 merge: always use buffer, if connection is buffered, this fixes OpenSSL "bad write retry" error, when *) nginx passed a single buf greater than our buffer (say 32K) to OpenSSL, *) OpenSSL returns SSL_ERROR_WANT_WRITE, *) after some time nginx has to send a new data, *) so there are at least two bufs nginx does pass them directly to OpenSSL, *) but copies the first buf part to buffer, and sends the buffer to OpenSSL. *) because the data length is lesser than it was in previous SSL_write(): 16K < 32K, OpenSSL returns SSL_R_BAD_WRITE_RETRY.
author Igor Sysoev <igor@sysoev.ru>
date Thu, 20 Nov 2008 17:20:15 +0000
parents b1648294f693
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
503
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
1 --- pcre.c Thu Aug 21 14:43:07 2003
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
2 +++ pcre.c Tue Mar 22 12:56:59 2005
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
3 @@ -246,8 +246,8 @@
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
4 extern "C" void (*pcre_free)(void *) = free;
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
5 extern "C" int (*pcre_callout)(pcre_callout_block *) = NULL;
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
6 #else
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
7 -void *(*pcre_malloc)(size_t) = malloc;
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 -void (*pcre_free)(void *) = free;
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9 +void *(__cdecl *pcre_malloc)(size_t) = malloc;
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10 +void (__cdecl *pcre_free)(void *) = free;
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11 int (*pcre_callout)(pcre_callout_block *) = NULL;
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
12 #endif
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
13 #endif