summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* On 1.8.x branch: Merge 1902628 and 1902629 from trunk:1.8.xIvan Zhakov2023-05-152-13/+6
| | | | | | | | win32: Move warning settings to CMakeLists.txt compile options instead of changing them in include/apr.h: otherwise any application the uses APR gets warning settings from APR. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1909837 13f79535-47bb-0310-9956-ffa450edef68
* poll: Round up milliseconds timeouts.Yann Ylavic2023-04-218-24/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When converting appr_interval_time_t (usecs) to system call's msecs, round up. apr_*poll() calls should wait *at least* the given timeout, not less. poll: Follow up to r1902236: Fix poll() sleeps cases. Don't convert timeout to milliseconds before potentially callig apr_sleep(). Tests for "poll() didn't sleep" now use the real timeout as lower limit. tests: check whether epoll_wait() timeout is reliable and adjust justsleep(). * configure.in: Small epoll_wait() loop to check timeout reliability and set HAVE_EPOLL_WAIT_RELIABLE_TIMEOUT. * test/testpoll.c(justsleep): Allow some jiffy is !HAVE_EPOLL_WAIT_RELIABLE_TIMEOUT. tests: Follow up to r1908616: Simplify epoll_wait() check. Merges r1902236, r1902258, r1908616, r1908618 from trunk. Submitted by: ylavic git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1909334 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: CHANGES: Remove the 1.7.x release changes (they are stillEvgeny Kotkov2023-04-121-71/+0
| | | | | | | available by URL). git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1909103 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Merge r1909090 from trunk:Evgeny Kotkov2023-04-121-13/+0
| | | | | | | CHANGES: Remove entries that were released in APR 1.7.3. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1909094 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Merge r1909088, r1909089 from trunk:Evgeny Kotkov2023-04-123-54/+46
| | | | | | | | | | | Revert r1808456 (Win32: Don't seek to the end when opening files with APR_FOPEN_APPEND). Add a regression test for the issue where appending to a buffered file was causing the content to be written at offset 0, rather than appended. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1909093 13f79535-47bb-0310-9956-ffa450edef68
* * Revert backport of 1908434, 1908435.Ruediger Pluem2023-03-281-2/+0
| | | | | | | These changes only make sense for APR-UTIL which is part of APR in trunk. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1908762 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1902295 from trunk:Ruediger Pluem2023-03-283-3/+3
| | | | | | | Run GitHub Action CI for commits to all branches. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1908761 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1908434, r1908435, r1908436, r1908437 from trunk:Ruediger Pluem2023-03-281-2/+6
| | | | | | | | | | | | | Test --with-crypto in ci. Follow up to r1908434: --with-openssl too. ci: DSOs should be installed for apu_dso_load(). ci: install to some writable directory. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1908758 13f79535-47bb-0310-9956-ffa450edef68
* Follow up to r1897207: CHANGES entry.Yann Ylavic2023-03-201-0/+2
| | | | | | | Merges r1908592 from trunk. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1908593 13f79535-47bb-0310-9956-ffa450edef68
* apr_thread: Follow up to r1897207: apr_thread_current_create() is ENOTIMPL ↵Yann Ylavic2023-03-205-10/+20
| | | | | | | | | | | | | w/o APR_HAS_THREAD_LOCAL. It's useless when !APR_HAS_THREAD_LOCAL since apr_thread_current() can't work. Merges r1908417 from trunk. Submitted by: ylavic git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1908579 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1908248, r1908336 from trunk:Ruediger Pluem2023-03-132-7/+34
| | | | | | | | | | | | | | | | | | | | | Fix crosscompiling detection in apr-1-config Since r1872148 apr-1-config tries to detect if it runs in a crosscompile scenario. Fix the detection to correctly distinguish between crosscompiling and DESTDIR installations for packaging. * configure.in: Set APR_CROSS_COMPILING to 'no', 'yes' or 'maybe' based on possible --host and --build parameters given to configure to determine if configure was called for a crosscompiling scenario. This was inspired by how autoconf itself detects crosscompiling scenarios. * apr-config.in: Use the value from APR_CROSS_COMPILING to determine if we are in a crosscompiling scenario. Furthermore normalize the pathes we use for suffix matches by collapsing multiple consecutive '/' to one. PR: 66510 git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1908343 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1907566 from trunk:Ruediger Pluem2023-03-071-0/+7
| | | | | | | | * Since r1901037 Posix shared mem is prefered over SysV shared mem. Add an option to revert this choice on systems that provide both. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1908169 13f79535-47bb-0310-9956-ffa450edef68
* test/testshm: Fix synchronization of msgput/msgwait IPC functions.Yann Ylavic2023-03-024-62/+65
| | | | | | | | | | | | | | | | | | | * test/testshm.h(): Move (APR_INLINE) common msgput/msgwait() functions there. * test/testshm.h(msgput, msgwait): Use atomics (cas) to prevent producer and consumer from writing to the same box. * testshm.c, testshmconsumer.c, testshmproducer.c: Use common helpers. Merges r1902267 from trunk. Submitted by: ylavic git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1908004 13f79535-47bb-0310-9956-ffa450edef68
* atomic: test 4-bytes aligned and/or cross-cacheline atomics (on 32bit systems).Yann Ylavic2023-03-021-19/+33
| | | | | | | | Merges r1907985 from https://svn.apache.org/repos/asf/apr/apr/trunk. Submitted by: ylavic git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1907998 13f79535-47bb-0310-9956-ffa450edef68
* apr_atomic: Generic apr_atomic_read64() needs a mutex on 32bit systems ↵Yann Ylavic2023-02-155-34/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (tearing). A 64bit load on a 32 bit CPU/system uses two instructions (tearing), so ensure atomicity with regard to other atomic functions by using the (same) lock. test_atomics_threaded64() fails because of this on 32bit systems. PR 66457. * atomic/unix/mutex64.c(apr_atomic_read64): Use locking when APR_SIZEOF_VOIDP < 8 atomic64: Generic apr_atomic_read64() to always use a lock. Don't play games with sizeof(void*) to determine whether a raw load intruction is atomic or not. Systems that fall back to the generic implementation are not eligible for the compiler builtins or CPU native atomic intructions already, and we don't want to reimplement that here (e.g. alignment, ordering guarantees, ...). * atomic/unix/mutex64.c(apr_atomic_read64): No #ifdefery, always take the lock. Follow up to r1907541. atomic: No raw 64bit load/store on 32bit systems or anything but x86_64 or s390x. Raw 64 bit load and store need two intructions on 32bit systems (tearing) so they are not atomic, and only x86(_64) and s390(x) have stong mempry ordering guarantees. Always use builtin functions for the cases where raw load/store don't work as expected. * atomic/unix/builtins.c, atomic/unix/builtins64.c: Use an accept-list rather than a reject-list to define WEAK_MEMORY_ORDERING. Test APR_SIZEOF_VOIDP < 8 to force usage of __sync builtins for _read{32,64} and _set{32,64} on 32bit systems when __atomic_{load,store} buitlins are not available. configure: Test apr_uint64_t alignment for 64bit atomic builtins usability. On some systems the __atomic builtins may be available only through libatomic or fall back to libatomic when the atomic operations are not issued on a suitably aligned address (64bit atomics on 8-byte aligned addresses only for instance). Modify the tests for HAVE_ATOMIC_BUILTINS64 and HAVE__ATOMIC_BUILTINS64 such that the address for the atomic operations is not aligned (unless 64bit ints always have the suitable alignment, i.e. mainly 64bit systems..). Also, use the __atomic_always_lock_free() builtin to fail the test when the compiler already knows about the alignment issue (falling back to libatomic, which we don't require/want). With this, 64bit builtins should be selected only for platforms that can natively handle atomics on any apr_uin64_t (since the APR has no dedicated 8-byte aligned 64bit type for now), while the generic/mutex implementation is used for others. testatomic: initialize in the test the globals used by it. Just in case the test is later reordered (e.g. test_atomics_threaded64 and test_atomics_threaded_setread64 use the same atomic_ops64 variable). Submitted by: ylavic Merges r1907541, r1907678, r1907637, r1907642, r1907677 from trunk. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1907679 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1906864 from trunk:Ivan Zhakov2023-01-213-0/+3
| | | | | | .github/workflows: Enable CI builds for tags. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1906865 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1906825 from trunk:Eric Covener2023-01-191-0/+4
| | | | | | | | | | | | force USE_SHMEM_SHMGET on AIX prior to r1901037 on trunk, USE_SHMEM_SHMGET is used. APR_USE_SHMEM_MMAP_SHM does not currently work on AIX. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1906826 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1906809 from trunk:Eric Covener2023-01-192-2/+2
| | | | | | | | bump copyright for 2023 git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1906810 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1905493 from trunk:Ivan Zhakov2023-01-171-2/+4
| | | | | | | | | CMakeLists.txt: Make CMAKE_MINIMUM_REQUIRED first directive as recommended by CMake documentation [1]. [1] https://cmake.org/cmake/help/latest/command/cmake_minimum_required.html git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1906751 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1906723 from trunk:Joe Orton2023-01-171-1/+1
| | | | | | | | | | | | | | Further strict C99 configure fix: Avoid an implicit int in the definition of the main function. Avoids build problems with future C compilers which will not support them by default. Submitted by: Florian Weimer <fweimer redhat.com> PR: 66426 git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1906724 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1906594 from trunk:Joe Orton2023-01-114-5/+28
| | | | | | | | | | | | Fix further strict C99 compliance issue. (fixes #37) PR: 66408 Submitted by: Sam James <sam gentoo.org> git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1906598 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1906347 from trunk:Joe Orton2023-01-031-1/+1
| | | | | | | | | | | Fix configure for compilers which don't accept implicit int (no longer part of C since C99). Submitted by: Florian Weimer <fweimer redhat.com> PR: 66396 git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1906348 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Merge r1904734 from trunk:Evgeny Kotkov2022-10-201-7/+2
| | | | | | | | Following up on r1904715, rework the check to properly handle an overflow when apr_size_t is 32-bit long. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1904735 13f79535-47bb-0310-9956-ffa450edef68
* encoding: Better check inputs of apr_{encode,decode}_* functions.Yann Ylavic2022-10-205-806/+1224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check that the given sources can be encoded without overflowing. Return APR_EINVAL if the given "slen" is negative, APR_NOTFOUND if "dest" is not NULL and "src" is NULL, or APR_ENOSPC if "dest" is NULL and the source length (based on "slen" or APR_ENCODE_STRING) is too big to encode. * include/private/apr_encode_private.h(): Rename ENCODE_TO_ASCII() and ENCODE_TO_NATIVE() to respectively TO_ASCII() and TO_ENCODE(), and make them return an unsigned char. * encoding/apr_escape.c(): Use the new TO_ASCII() and TO_NATIVE(). * encoding/apr_encode.c(apr_encode_*, apr_decode_*): Forbid negative "slen" but APR_ENCODE_STRING, and use apr_size_t arithmetics to check for overflows when encoding. When "dest" is NULL, "src" can be NULL too. Better check for trailing '='s or base16's APR_ENCODE_COLON ':' separators. Rename ENCODE_TO_ASCII and ENCODE_TO_NATIVE to their new names, and remove casts to (unsigned char) now unnecessary. * include/apr_encode.h(): Update dox about acceptable inputs and returned errors. * test/testencode.c(): Tests for error conditions. testencode: Follow up to r1902281: error tests for apr_decode_base16_binary. testencode: Follow up to r1902281: Correct call convention for encdec_fn. testencode: Follow up to r1902281: Correct call convention for encdec_fn (try 2). testencode: Follow up to r1902281: Inline, no calling convention assumptions. Merges r1902281, r1902282, r1902284, r1902285, r1902286 from trunk. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1904723 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Merge r1904715 from trunk:Evgeny Kotkov2022-10-201-32/+22
| | | | | | | | | Win32: Stop apr_socket_sendv() from splitting iovecs into multiple possible WSABUFs and error out on theoretical cases that cannot be handled with a single WSASend(). git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1904716 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Merge r1902283 from trunk:Ivan Zhakov2022-09-121-0/+17
| | | | | | | tests: Configure VC runtime to write errors to stderr instead of displaying popup message box on Windows. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1904015 13f79535-47bb-0310-9956-ffa450edef68
* apr_thread: Provide apr_threadattr_max_free_set().Yann Ylavic2022-07-2111-50/+74
| | | | | | | | | | | | | | | | | When creating a thread, this allows to specify the "max_free" of its pool allocator (i.e. apr_allocator_max_free_set), so that one can create thread local subpools and have their memory usage regulated on cleanup/destroy. One could achieve that already with: apr_allocator_max_free_set(apr_thread_pool_get(thread), max_free); in the thread startup function, but it's more convenient, simpler and race free to handle that in the thread attribute itself at creation time. Merge r1902715 from trunk. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902908 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch:Ivan Zhakov2022-07-091-4/+8
| | | | | | | * CMakePresets.json: Enable APR_BUILD_TESTAPR by default for dev builds. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902612 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Merge r1902610 from trunk:Ivan Zhakov2022-07-091-0/+3
| | | | | | | .editorconfig: Use ident_size = 2 for *.json. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902611 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Merge r1902293, r1902292, r1902294 from trunk:Ivan Zhakov2022-07-091-0/+7
| | | | | | Add .editorconfig. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902609 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Merge r1902596 from trunk:Ivan Zhakov2022-07-091-0/+66
| | | | | | | Add CMakePresets.json with preconfigured build configurations for Visual Studio. Add out directory to svn:ignore. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902608 13f79535-47bb-0310-9956-ffa450edef68
* Merge r1902577 from trunk:Ivan Zhakov2022-07-081-0/+4
| | | | | | win32: Fix build with IPv6 disabled. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902578 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Fix NMake based Win32 build. PR 66121.Ivan Zhakov2022-07-082-0/+28
| | | | | | * apr.mak, libapr.mak: Add compile and link network_io\win32\socket_pipe.c. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902576 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Fix EOL in apr.mak.Ivan Zhakov2022-07-081-4/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902574 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Merge r1808457 from trunk:Ivan Zhakov2022-06-302-13/+20
| | | | | | | Win32: Create and use file mutex only for files opened with APR_FOPEN_XTHREAD. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902380 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Merge r1828509, r1902371 from trunk:Ivan Zhakov2022-06-303-23/+425
| | | | | | *) apr_file_read: Optimize large reads from buffered files on Windows. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902379 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Merge r1806299, r1806301, r1806308, r1806610:Ivan Zhakov2022-06-303-53/+279
| | | | | | | *) apr_file_write: Optimize large writes to buffered files on Windows. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902378 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Merge r1808456 from trunk:Ivan Zhakov2022-06-303-1/+54
| | | | | | Win32: Don't seek to the end when opening files with APR_FOPEN_APPEND. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902377 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Merge r1806608 from trunk:Ivan Zhakov2022-06-303-0/+210
| | | | | | Win32: Fix a deadlock when appending to locked files (PR50058). git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902376 13f79535-47bb-0310-9956-ffa450edef68
* On 1.8.x branch: Merge r1785072, r1788930 from trunk:Ivan Zhakov2022-06-303-65/+365
| | | | | | | *) apr_file_gets: Optimize for buffered files on Windows. [Evgeny Kotkov <evgeny.kotkov visualsvn.com>] git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902375 13f79535-47bb-0310-9956-ffa450edef68
* atomic: Detect 32bit and 64bit atomic builtins separately.Yann Ylavic2022-06-273-9/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some 32bit platforms provide 32bit but not 64bit atomics, detect and distinctly set/use HAVE_ATOMIC_BUILTINS/HAVE_ATOMIC_BUILTINS64 and USE_ATOMICS_BUILTINS/USE_ATOMICS_BUILTINS64. These platforms NEED_ATOMICS_GENERIC64 as 64bit implementation. * configure.in(): Use stdint.h's uint{32,64}_t as atomic type for testing atomic builtins when available, otherwise "unsigned int" for 32bit testing and "unsigned long long" as 64bit. * configure.in(): AC_TRY_RUN each 32bit and 64bit type separately, the former determining HAVE_ATOMIC_BUILTINS and the latter HAVE_ATOMIC_BUILTINS64. * include/arch/unix/apr_arch_atomic.h(): Define USE_ATOMICS_BUILTINS64 when HAVE_ATOMIC_BUILTINS64, otherise define NEED_ATOMICS_GENERIC64 * include/arch/unix/apr_arch_atomic.h(): Check defined(__powerpc__) for USE_ATOMICS_PPC. * atomic/unix/builtins64.c(): Implement for USE_ATOMICS_BUILTINS64 only. BZ 63566. Merge r1902266 from trunk. Submitted by: ylavic git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902291 13f79535-47bb-0310-9956-ffa450edef68
* atomics: 1.8+ only: Provide apr_atomic_casptr2() and apr_atomic_xchgptr2().Yann Ylavic2022-06-2611-41/+248
| | | | | | | | | | | | | | | | | | | The API of atomic_{cas,xchg}ptr() is broken, using "volatile void **" instead of "void *volatile *" to qualify the exchanged pointer address. This does not prevent the compiler from caching *mem into a local variable, which would break atomicity. Since the API of existing functions cannot change in 1.x, provide two new apr_atomic_casptr2() and apr_atomic_xchgptr2() with the right API. Add a dox @warning to notify users to switch to using the new functions. The implementation is not duplicated by using common (APR_INLINE) helpers. Relates to: r1763666 in trunk. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902268 13f79535-47bb-0310-9956-ffa450edef68
* test/testlock: Follow up to r1902219: Axe spurious merge artifact.Yann Ylavic2022-06-261-1/+0
| | | | | | | | Somehow one of the "return NULL" was already in 1.8.x, don't double it. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902254 13f79535-47bb-0310-9956-ffa450edef68
* atomic: Fix -Wincompatible-pointer-types-discards-qualifiersYann Ylavic2022-06-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | atomic/unix/builtins.c:117:38: warning: passing 'void **' to parameter of type 'volatile void **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers] __atomic_compare_exchange_n(mem, (void **)&cmp, ptr, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); ^~~~~~~~~~~~~ This warning is weird, because 'volatile void **' is not a thing usually, it happens on macos in apr-1.x, where apr_atomic_casptr() is (ill-)defined as: APR_DECLARE(void*) apr_atomic_casptr(volatile void **mem, void *ptr, const void *cmp); but not on trunk's: APR_DECLARE(void*) apr_atomic_casptr(void *volatile *mem, void *ptr, const void *cmp); The mark clearly indicates that (void **)&cmp is the culprit though (compiler bug?). Let's see if using the generic (void *) cast helps, the goal of the (void **) cast was to remove constantness only (__atomic_compare_exchange_n will modify the pointer on stack, but not the pointed to value), (void *) will do that too without any volatile qualifier issue possibly. Merge r1902233 from trunk. Submitted by: ylavic git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902234 13f79535-47bb-0310-9956-ffa450edef68
* Make test work with thread support disabled.Yann Ylavic2022-06-244-9/+77
| | | | | | | | | | | | | | Added support for recording skipped test cases. testfile: silence -Wstring-plus-int warnings. Merge r1877439, r1877441, r1877442 from trunk. Submitted by: brane git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902230 13f79535-47bb-0310-9956-ffa450edef68
* test/testmutexscope: Fix -Wvoid-pointer-to-enum-castYann Ylavic2022-06-241-2/+2
| | | | | | | | | | | | * test/testmutexscope.c(test_mech_mode, eachThread): Cast to apr_uintptr_t first before converting pointer to/from enum. Merge r1902182 from trunk. Submitted by: ylavic git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902229 13f79535-47bb-0310-9956-ffa450edef68
* testfile: try to determine how apr_file_datasync() fails for streams on macos.Yann Ylavic2022-06-241-1/+7
| | | | | | | | | | | | | | | | | | * test/testfile.c(test_datasync_on_stream): Let ABTS_INT_EQUAL show the actual errno. test/testfile.c: apr_file_datasync() fails with ENOTSUP for streams on macos. * test/testfile.c(test_datasync_on_stream): Handle ENOTSUP on macos. Merge r1902175, r1902180 from trunk. Submitted by: ylavic git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902228 13f79535-47bb-0310-9956-ffa450edef68
* ci: Set native eol-style on github yamls.Yann Ylavic2022-06-242-101/+101
| | | | | | | | Merge r1902226 from trunk. Submitted by: ylavic git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902227 13f79535-47bb-0310-9956-ffa450edef68
* Fix compiler warning.Yann Ylavic2022-06-241-25/+25
| | | | | | | | | | | | | | | * test/testskiplist.c (skiplist_get_size): Return size_t instead of int. * test/testskiplist.c: Use ABTS_SIZE_EQUAL() where it makes sense. Merge r1902154, r1902155 from trunk. Submitted by: ivan git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902225 13f79535-47bb-0310-9956-ffa450edef68
* Fix compiler warning.Yann Ylavic2022-06-241-2/+2
| | | | | | | | | | | * test/sockperf.c: Use apr_size_t instead of int. Merge r1902157 from trunk. Submitted by: ivan git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1902224 13f79535-47bb-0310-9956-ffa450edef68