/[Apache-SVN]/apr/apr/branches/1.3.x/CHANGES
ViewVC logotype

Contents of /apr/apr/branches/1.3.x/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log


Revision 881303 - (show annotations)
Tue Nov 17 14:31:39 2009 UTC (7 days, 21 hours ago) by trawick
File size: 15760 byte(s)
merge r881301 from trunk:

Solaris 10 or later: Use pthread by default for cross-process mutex instead of
fcntl; the latter is not thread-aware, leading to EDEADLK failures with some multi-
threaded, multi-process applications.

Proper recovery after a crash of the mutex owner was tested on Solaris 10 U5 and
OpenSolaris 2009.06.  Earlier Solaris versions weren't tested, and there were
reports in httpd-land long ago about failures to recover the mutex.
1 -*- coding: utf-8 -*-
2 Changes for APR 1.3.10
3
4 *) Solaris 10 and later: Change the default cross-mutex mechanism from
5 fcntl to pthread to resolve EDEADLK failures with some multi-threaded,
6 multi-process applications (e.g., httpd's worker MPM with certain
7 plug-in modules). [Jeff Trawick]
8
9 *) Solaris pollcb support: Fix a hang in apr_pollcb_poll().
10 [Jeff Trawick]
11
12 *) Solaris pollset support: Fix a 1.3.9 regression in apr_pollset_poll()
13 which could result in a crash when the call was interrupted by a
14 signal. PR 48030. [Jeff Trawick]
15
16 *) Solaris pollset support: Fix a 1.3.9 regression in apr_pollset_poll()
17 which resulted in invalid return codes from the APR function. A work-
18 around was needed for bad return codes from 32-bit port_getn() on
19 Solaris 10 x86. PR 48029. [Jeff Trawick]
20
21 *) The implementation of expand_array() in tables/apr_hash.c allocates
22 a new bucket array, without making any attempt to release the memory
23 allocated for the previous bucket array. That wastes memory: if the
24 hash table grows exponentially, this strategy wastes O(n) extra memory.
25 Use a subpool instead. [Neil Conway <nrc cs.berkeley.edu>]
26
27 Changes for APR 1.3.9
28
29 *) Posix semaphores can now be named and used as named semaphores.
30 [Jim Jagielski]
31
32 *) Better handling of APR_OFF_T_FMT for Darwin 10 depending on -arch
33 setting of compiler. [Jim Jagielski]
34
35 *) Add comments describing the thread-safety properties of apr_pool_t.
36 [Neil Conway nrc cs.berkeley.edu]
37
38 *) Pass default environment to testsock, testshm and testproc children, so
39 that tests run when APR is compiled with Intel C Compiler.
40 [Bojan Smojver]
41
42 *) Fix error handling in the Solaris pollset support (Event Port backend).
43 PR 47645. [Jeff Trawick]
44
45 *) Add the remainder of this fix from trunk:
46 Fix Solaris poll failure. PR 43000
47 [Henry Jen <henryjen ztune.net>]
48
49 Changes for APR 1.3.8
50
51 *) SECURITY: CVE-2009-2412 (cve.mitre.org)
52 Fix overflow in pools and rmm, where size alignment was taking place.
53 [Matt Lewis <mattlewis@google.com>, Sander Striker]
54
55 *) Make sure that "make check" is used in the RPM spec file, consistent
56 with apr-util. [Graham Leggett]
57
58 *) Pass default environment to testflock, testoc and testpipe children,
59 so that tests run when APR is compiled with Intel C Compiler.
60 [Bojan Smojver]
61
62 Changes for APR 1.3.7
63
64 *) More elaborate detection for dup3(), accept4() and epoll_create1().
65 [Chetan Reddy <chetanreddy gmail.com>, Bojan Smojver]
66
67 Changes for APR 1.3.6
68
69 *) On Linux/hppa flock() returns EAGAIN instead of EWOULDBLOCK. This
70 causes proc mutex failures.
71 [Stefan Fritsch <sf sfritsch.de>]
72
73 *) Set CLOEXEC flags where appropriate. Either use new O_CLOEXEC flag and
74 associated functions, such as dup3(), accept4(), epoll_create1() etc.,
75 or simply set CLOEXEC flag using fcntl(). PR 46425. [Stefan Fritsch
76 <sf sfritsch.de>, Arkadiusz Miskiewicz <arekm pld-linux.org>]
77
78 Changes for APR 1.3.5
79
80 *) Dropped kqueue and apr_poll detection from Mac OS/X 10.5/Darwin 9
81 due to various reported problems. [William Rowe]
82
83 Changes for APR 1.3.4
84
85 *) apr_strerror() on OS/2: Fix problem with calculating buffer size.
86 PR 45689. [Erik Lax <apache datahack.se>]
87
88 *) Prefer glibtool1/glibtoolize1. [Jim Jagielski]
89
90 *) Fix buildconf with libtool 2.2. [Joe Orton]
91
92 *) Fix a bug with the APR_DELONCLOSE flag. Child processes were (also)
93 unlinking the file. [Greg Stein]
94
95 *) Fix compilation error on systems that do not have IPV6.
96 PR 46601 [Julien Charbon <jch 4js.com>]
97
98 *) apr_socket_sendfile() on Solaris: Fix handling of files truncated
99 after the sender determines the length. (This fixes a busy loop in
100 httpd when a file being served is truncated.) [Jeff Trawick]
101
102 *) Fix documentation for apr_temp_dir_get().
103 PR 46303 [Carlo Marcelo Arenas Belon <carenas sajinet.com.pe>]
104
105 *) Add AC_MSG_RESULT after AC_MSG_CHECKING.
106 PR 46427 [Rainer Jung <rainer.jung kippdata.de>]
107
108 *) Reset errno to zero in apr_strtoi64 to prevent returning an errno not
109 equal zero in cases where the operation worked fine. [Ruediger Pluem]
110
111 *) Win32: Do not error out on apr_pollset_poll() when there are no sockets.
112 [Justin Erenkrantz]
113
114 *) Fix apr_tokenize_to_argv parsing. PR 46128
115 [Edward Rudd <eddie omegaware.com>]
116
117 Changes for APR 1.3.3
118
119 *) Rename apr_pool_create_core to apr_pool_create_unmanaged and
120 deprecate the old API name. It better reflects the scope and usage
121 of this function. [Mladen Turk]
122
123 *) Use proper return code for fcntl-based apr_proc_mutex_trylock()
124 on platforms that return EACCES instead of EAGAIN when the lock
125 is already held (AIX, HP-UX).
126 [Eric Covener]
127
128 *) Fix APR_PID_T_FMT detection on Solaris. PR 45513
129 [Rainer Jung <rainer.jung kippdata.de>]
130
131 Changes for APR 1.3.2
132
133 *) Fix getservbyname_r() detection. [Ruediger Pluem]
134
135 Changes for APR 1.3.1
136
137 *) Fix win32 apr.hw to pick up XP/2003 TCP/IP multicast constants and
138 revert to IPV6 disabled-by-default (a change present only in 1.3.0).
139 [William Rowe]
140
141 *) Fix autoconf cached detection of atomic builtins. [Jim Jagielski]
142
143 *) Use thread safe versions of getservbyname(). [Bojan Smojver]
144
145 *) Use thread safe getpass_r on Netware. [Guenter Knauf]
146
147 Changes for APR 1.3.0
148
149 *) Fix Solaris poll failure. PR 43000
150 [Henry Jen <henryjen ztune.net>]
151
152 *) apr_getservbyname(): Use proper method for converting port
153 to host byte order. PR 44903.
154 [Chris Taylor <ctaylor wadeford.plus.com>]
155
156 *) Use /dev/urandom in preference to /dev/random as entropy source
157 for apr_generate_random_bytes. PR 44881. [Bojan Smojver]
158
159 *) Implement apr_proc_wait_all_procs for windows.
160 The implementation uses tool help library present
161 on Windows 2000 and later. APR_ENOTIMPL is returned
162 on platforms missing tool help from kernel32.dll.
163 [Mladen Turk]
164
165 *) Introduce apr_pool_pre_cleanup_register() for registering
166 a cleanup that is called before any subpool is destroyed
167 within apr_pool_clear or apr_pool_destroy.
168 This allows to register a cleanup that will notify subpools
169 about its inevitable destruction.
170 [Mladen Turk]
171
172 *) Introduce apr_pool_create_core_ex() for creation of standalone
173 pools without parent. This function should be used for short
174 living pools, usually ones that are created and destroyed
175 either in a loop or inside function call. Since the pools
176 created with this function doesn't have a parent they must
177 be explicitly destroyed when done.
178 [Mladen Turk]
179
180 *) Fix return value when apr_pollset_poll interrupted.
181 PR 42580 [Basant Kumar Kukreja <basant.kukreja sun.com>]
182
183 *) Add missing semi-colon in Win9x code path of apr_file_open that breaks
184 Win9X Debug builds. PR 44329. [Curt Arnold]
185
186 *) z/OS: return standard apr_status_t codes from apr_dso_load()
187 and apr_dso_sym(). [David Jones <oscaremma gmail.com>]
188
189 *) Fix the make test target in the spec file. [Graham Leggett]
190
191 *) Fix DSO-related crash on z/OS caused by incorrect memory
192 allocation. [David Jones <oscaremma gmail.com>]
193
194 *) Implement Darwin-semantic (9.0.0 and later) sendfile support.
195 Use writev in lieu of hdtr vecs since how Darwin counts the
196 data is undocumented. [Geoff Greer <angryparsley mipsisrisc.com>,
197 William Rowe, Jim Jagielski]
198
199 *) Implemented the APR_FOPEN_SPARSE flag, permits win32 to create
200 sparse data files. Also bestow apr_fileinfo_t csize field for
201 Windows versions 2000 and later, which helps in the detection
202 that a sparse file is truly in use (see test/testlfs.c for an
203 example, because different filesystems can vary in behavior
204 even on an OS supporting sparse files). [William Rowe]
205
206 *) Corrected for Darwin and others to toggle APR_HAS_LARGE_FILES
207 where large off_t's are enabled without any extra defines, hints
208 or additional functions. This is binary compatible, but apps
209 may need to be recompiled to take full advantage depending on how
210 they detect this feature. [William Rowe]
211
212 *) Implement apr_atomic_casptr() and apr_atomic_xchgptr() for z/OS.
213 [David Jones <oscaremma gmail.com>]
214
215 *) Introduce apr_file_pipe_create_ex() to portably permit one pipe
216 end or another to be entirely blocking for non-APR applications
217 (e.g. stdio streams) and the other (or both ends) non blocking,
218 with a timeout of 0 by default.
219 [William Rowe]
220
221 *) apr_procattr_io_set() on Windows: Set non-blocking pipe handles
222 to a default timeout of 0, following the Unix default. No effect
223 on pipe handles configured to block. PR 43522.
224 [Eric Covener <covener gmail.com>]
225
226 *) apr_file_write() on Windows: Fix return code when writing to a non-
227 blocking pipe would have blocked. PR 43563.
228 [Eric Covener <covener gmail.com>]
229
230 *) Introduce APR_NO_FILE as an option to apr_procattr_io_set() for any
231 of the three stdio streams to cause the corresponding streams to be
232 closed to the child process. This becomes effective in 1.3.0 across
233 platforms (equivilant to APR_NO_PIPE in 1.2.x except on Win32.)
234 [William Rowe]
235
236 *) Solve WinNT inherited pipe leaks by mutexing apr_proc_create calls,
237 on WinNT (not WinCE, nor 9x) so that we toggle the inherited state
238 of the stdin/out/err pipes. All other file handles are treated as
239 not-inherited until apr_file_dup2'ed a std handle of this process,
240 or while they are used by apr_proc_create. [William Rowe]
241
242 *) Define the Mac OS/X filesystem_encoding as utf-8 (in previous
243 releases the interpretation would vary). [Branko Čibej]
244
245 *) Add table cloning (deep copy) convenience function.
246 [Davi Arnaut]
247
248 *) Rework the WIN32 CV code to signal the condition only if one or
249 more threads are blocked on the condition variable. If no threads
250 are waiting on the condition variable, nothing happens. The change
251 also eliminates the thundering-herd problem of the manual-reset
252 event, which (theoretically) wakes up all threads waiting on. Now
253 the behavior of the CV's should be the same on Unix and win32
254 platforms. PR 42305. [Davi Arnaut]
255
256 *) Define SEM_FAILED if it isn't already defined, as the proc mutex
257 code already does it. Also search for the sem_open function in
258 the realtime library. (This fixes HP-UX sem_open detection).
259 [Davi Arnaut]
260
261 *) Define the _HPUX_SOURCE feature test macro to obtain maximum
262 functionality.
263 PR 42261. [Davi Arnaut]
264
265 *) Stop invoking the testshm* helpers upon 'make test' invocation.
266 [Kurt Miller <kurt intricatesoftware.com>]
267
268 *) Register a cleanup only if APR_FILE_NOCLEANUP was not flagged in
269 apr_file_mktemp. [Brian J. France <list firehawksystems.com>]
270
271 *) Numerous build fixes for non-GCC builds and GCC builds on Win32,
272 as well as WinCE builds. [Davi Arnaut <davi haxent.com.br>,
273 Curt Arnold <carnold apache.org>, John Mark Vandenberg,
274 Kouhei Sutou <kou cozmixng.org>, William Rowe]
275
276 *) Discard file buffers when running cleanups for exec.
277 PR 41119. [Davi Arnaut <davi haxent.com.br>, Bojan Smojver]
278
279 *) Improve thread safety of assorted file_io functions.
280 PR 42400. [Davi Arnaut <davi haxent.com.br>]
281
282 *) Add the apr_pollcb API as an alternative more efficient method
283 of polling sockets, compared to apr_pollset. [Paul Querna]
284
285 *) Fix possible crash in apr_pool_initialize() when built with
286 verbose pool debugging. PR 41063.
287 [Peter Steiner <peter.steiner+apache hugwi.ch>]
288
289 *) Fix --disable-ipv6 build on platforms with getifaddrs().
290 PR 39199. [Joe Orton]
291
292 *) Correctly retrieve 'empty' environment values with apr_env_get
293 on Win32 (e.g. "VAR="), and added validation to testall suite.
294 PR 40764. [Issac Goldstand <margol beamartyr.net>]
295
296 *) Portably check for EEXIST in mktemp code. PR 40818
297 [Kenneth Golomb <KGolomb TradeCard.com>]
298
299 *) Fix apr_socket_recvfrom() to ensure the peer's address is returned
300 through the "from" parameter. [Joe Orton]
301
302 *) Fix error checking in kqueue, epoll and event port versions of
303 apr_pollset_create. PR 40660, 40661, 40662
304 [Larry Cipriani <lvc lucent.com>]
305
306 *) Add some documentation on the format matched by apr_fnmatch.
307 [David Glasser <glasser mit.edu>]
308
309 *) Add apr_hash_clear. [Daniel L. Rall <dlr apache.org>]
310
311 *) Don't try to build apr_app.c on MinGW.
312 [Matthias Miller <Blog outofhanwell.com>]
313
314 *) Fix the timeout converstion in apr_pollset with the KQueue
315 backend. [Marco Molteni <mmolteni cisco.com>]
316
317 *) Support MinGW. [John Vandenberg, Justin Erenkrantz]
318
319 *) Implement apr_thread_yield on Unix in terms of pthread_yield or
320 sched_yield. [Keisuke Nishida <keisuke.nishida gmail.com>]
321
322 *) Provide folding in autogenerated .manifest files for Win32 builders
323 using VisualStudio 2005 [William Rowe]
324
325 *) Utilise Solaris' native atomic_* functions for apr_atomics
326 where appropriate. [Colm MacCárthaigh]
327
328 *) Make apr_socket_recvfrom initialize the port field in the from
329 sockaddr. PR 39325 [Anthony Minessale <anthmct yahoo.com>]
330
331 *) NetBSD: Avoid leaving zombie process when using apr_signal()
332 to ignore SIGCHLD. PR 36750. [Todd Vierling <tv pobox.com>]
333
334 *) Implement support for apr_proc_mutex_trylock() on Unix platforms.
335 PR 38785. [Chris Darroch <chrisd pearsoncmg.com>]
336
337 *) APR_FIND_APR macro now supports customisable detailed checks on
338 each installed apr. [Justin Erenkrantz, Colm MacCárthaigh]
339
340 *) APR_FIND_APR macro no longer checks /usr/local/apache2/
341 [Colm MacCárthaigh]
342
343 *) Add APR_POLLSET_NOCOPY option to apr_pollset API to eliminate
344 O(n)-time lookup in apr_pollset_remove() (currently implemented
345 only for epoll). [Brian Pane]
346
347 *) Add apr_file_buffer_set() and apr_file_buffer_size_get() functions
348 to support variable buffer sizes with APR file handles.
349 [Colm MacCárthaigh]
350
351 *) Add apr_file_open_flags_std[err|out|in]() functions.
352 [Colm MacCárthaigh]
353
354 *) stdio: apr_file_open_std[err|out|in]() functions now set the APR_WRITE
355 or APR_READ flag as appropriate. [Colm MacCárthaigh]
356
357 *) multicast: apr_mcast_*() no longer return APR_ENOTIMPL when invoked
358 for non-UDP/RAW sockets. The caller is expected to ensure that the
359 socket-type is suitable for multicast. [Colm MacCárthaigh]
360
361 *) Add apr_sockaddr_ip_getbuf() function. [Joe Orton]
362
363 *) Fix handling of %pI in apr_psprintf. [Joe Orton]
364
365 *) Provide APR_VERSION_AT_LEAST() macro for applications which
366 want to enable features based on a required level of APR.
367 [Jeff Trawick]
368
369 *) jlibtool: Teach to use static libraries with -static.
370 [Justin Erenkrantz]
371
372 *) Fix checks for alloca() support in configure. PR 13037.
373 [Noah Misch <noah cs.caltech.edu>]
374
375 *) Add %pm support to apr_snprintf() for printing the error string
376 corresponding to an apr_status_t value. [Joe Orton]
377
378 *) Add APR_ARRAY_IDX() and APR_ARRAY_PUSH() convenience macros to
379 apr_tables.h. [Garrett Rooney]
380
381
382 Changes for APR 1.2.x and later:
383
384 *) http://svn.apache.org/viewvc/apr/apr/branches/1.2.x/CHANGES?view=markup
385
386 Changes for APR 1.1.x and later:
387
388 *) http://svn.apache.org/viewvc/apr/apr/branches/1.1.x/CHANGES?view=markup
389
390 Changes for APR 1.0.x and later:
391
392 *) http://svn.apache.org/viewvc/apr/apr/branches/1.0.x/CHANGES?view=markup
393
394 Changes for APR 0.9.x and later/earlier:
395
396 *) http://svn.apache.org/viewvc/apr/apr/branches/0.9.x/CHANGES?view=markup

Properties

Name Value
svn:eol-style native
svnmailer:content-charset utf-8

apache@apache.org
ViewVC Help
Powered by ViewVC 1.1.2