why is it

apr_uint32_t apr_atomic_cas(volatile apr_uint32_t *, long, long)
(generic version)

apr_uint32_t apr_atomic_cas(volatile apr_atomic_t *, apr_uint32_t,
                            apr_uint32_t cmp)
(MVS version)

instead of

apr_uint32_t apr_atomic_cas(volatile apr_uint32_t *, apr_uint32_t,
                            apr_uint32_t)

everywhere?

The MVS version just has a typographical difference to what is needed (apr_atomic_t vs. apr_uint32_t, which are the same). The generic version is broken where long is 64-bit.

Is there some reason why "long" was chosen for the 2nd and 3rd parameters.



Reply via email to