Joe Orton wrote:

On Thu, Dec 04, 2003 at 08:06:04PM -0000, Jeff Trawick wrote:
...

#if !defined(apr_atomic_add32) && !defined(APR_OVERRIDE_ATOMIC_ADD32)
-void apr_atomic_add32(volatile apr_uint32_t *mem, apr_uint32_t val) +apr_uint32_t apr_atomic_add32(volatile apr_uint32_t *mem, apr_uint32_t val)
{
+ apr_uint32_t old_value;
+
#if APR_HAS_THREADS
apr_thread_mutex_t *lock = hash_mutex[ATOMIC_HASH(mem)];
if (apr_thread_mutex_lock(lock) == APR_SUCCESS) {
+ old_value = *mem;
*mem += val;
apr_thread_mutex_unlock(lock);
}


apr_atomic.c: In function `apr_atomic_add32':
apr_atomic.c:205: warning: `old_value' might be used uninitialized in this 
function

I'd fix it but I'm not sure how... abort()? assert(apr_thread_mutex_lock(lock) == APR_SUCCESS) instead? return a
random value since everything has gone to pot anyway?
I'd vote for abort() or assert().




Reply via email to