Package: efl / 1.8.6-2.5

04_eina_suite_lockup.diff Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
diff --git a/src/tests/eina/eina_test_lock.c b/src/tests/eina/eina_test_lock.c
index 7c6626e..1b50f6e 100644
--- a/src/tests/eina/eina_test_lock.c
+++ b/src/tests/eina/eina_test_lock.c
@@ -152,7 +152,11 @@ _eina_test_rwlock_thread(void *data EINA_UNUSED, Eina_Thread t EINA_UNUSED)
    counter = 7200;
    fail_if(eina_rwlock_release(&mutex) != EINA_LOCK_SUCCEED);
 
+   fail_if(!eina_barrier_wait(&barrier));
+
+   fail_if(eina_lock_take(&mtcond) != EINA_LOCK_SUCCEED);
    fail_if(!eina_condition_broadcast(&cond));
+   fail_if(eina_lock_release(&mtcond) != EINA_LOCK_SUCCEED);
 
    return NULL;
 }
@@ -183,14 +187,16 @@ START_TEST(eina_test_rwlock)
    fail_if(eina_rwlock_release(&mutex) != EINA_LOCK_SUCCEED);
 
    fail_if(eina_lock_take(&mtcond) != EINA_LOCK_SUCCEED);
+   fail_if(!eina_barrier_wait(&barrier));
+
    fail_if(!eina_condition_wait(&cond));
    fail_if(eina_lock_release(&mtcond) != EINA_LOCK_SUCCEED);
-   
+
    fail_if(eina_rwlock_take_read(&mutex) != EINA_LOCK_SUCCEED);
    fail_if(counter != 7200);
    fail_if(eina_rwlock_release(&mutex) != EINA_LOCK_SUCCEED);
 
-   eina_condition_timedwait(&cond, 0.01);
+   /* eina_condition_timedwait(&cond, 0.01); */
    eina_thread_join(thread);
 
    eina_condition_free(&cond);
-- 
2.0.0.rc0