apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <wr...@rowe-clan.net>
Subject Re: Showstopper ... was: Tagged the tree
Date Thu, 09 Jan 2003 18:44:50 GMT
At 11:44 AM 1/9/2003, you wrote:
>William A. Rowe, Jr. wrote:
>>In that case... what about a trick (I believe) Ben Laurie taught us?
>>Using a typedef for clarity:
>>typedef void*(*apr_atomic_casptr_fn_t)(unsigned long* mem, unsigned long cmp, unsigned
long with);
>>#define apr_atomic_casptr ((apr_atomic_casptr_fn_t)(atomic_cmpxchg))
>>In this way, the arguments to apr_atomic_casptr will be evaluated in terms
>>of the apr_atomic_casptr_fn_t declaration.
>>This presumes the arguments exactly match the atomic_cmpxchg function, with the exception
of twos-compliment signedness.
>>Make sense?
>I like the typedef approach, but shouldn't it be
>typedef void*(*apr_atomic_casptr_fn_t)(void** mem, const void *cmp, const void *with);
>since casptr operates on pointers rather than ints?

I wondered the same, I was just convoluting the existing macro...


View raw message