From: caro Date: Wed, 22 Feb 2012 08:34:38 +0000 (+0000) Subject: Eina: fix win32 RWlocks X-Git-Tag: submit/2.0alpha-wayland/20121127.222009~241 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e1817a7232d7c4bb1320fb7c0af4321b06d406a0;p=profile%2Fivi%2Feina.git Eina: fix win32 RWlocks * initialize all the mutex members in eina_rwlock_new() * fix assigments in eina_rwlock_take_read() and eina_rwlock_take_write() git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@68248 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/src/include/eina_inline_lock_win32.x b/src/include/eina_inline_lock_win32.x index 86980ab..1988724 100644 --- a/src/include/eina_inline_lock_win32.x +++ b/src/include/eina_inline_lock_win32.x @@ -334,6 +334,11 @@ eina_rwlock_new(Eina_RWLock *mutex) if (!eina_condition_new(&(mutex->cond_write), &(mutex->mutex))) goto on_error2; + mutex->readers_count = 0; + mutex->writers_count = 0; + mutex->readers = 0; + mutex->writers = 0; + return EINA_TRUE; on_error2: @@ -363,7 +368,7 @@ eina_rwlock_take_read(Eina_RWLock *mutex) AcquireSRWLockShared(&mutex->mutex); mutex->is_read_mode = EINA_TRUE; #else - DWORD res; + DWORD res = 0; if (eina_lock_take(&(mutex->mutex)) == EINA_LOCK_FAIL) return EINA_LOCK_FAIL; @@ -396,7 +401,7 @@ eina_rwlock_take_write(Eina_RWLock *mutex) AcquireSRWLockExclusive(&mutex->mutex); mutex->is_read_mode = EINA_FALSE; #else - DWORD res; + DWORD res = 0; if (eina_lock_take(&(mutex->mutex)) == EINA_LOCK_FAIL) return EINA_LOCK_FAIL; @@ -414,7 +419,7 @@ eina_rwlock_take_write(Eina_RWLock *mutex) } mutex->writers_count--; } - if (res == 0) mutex->writers_count = 1; + if (res == 0) mutex->writers = 1; eina_lock_release(&(mutex->mutex)); #endif