Subversion Repositories HelenOS

Rev

Rev 3386 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3386 Rev 4263
Line 36... Line 36...
36
 
36
 
37
#define READERS     50
37
#define READERS  50
38
#define WRITERS     50
38
#define WRITERS  50
39
 
39
 
40
static rwlock_t rwlock;
40
static rwlock_t rwlock;
41
static bool sh_quiet;
-
 
42
 
41
 
43
static void writer(void *arg)
42
static void writer(void *arg)
44
{
43
{
45
    if (!sh_quiet)
-
 
46
        printf("Trying to lock rwlock for writing....\n");
44
    TPRINTF("Trying to lock rwlock for writing....\n");
47
   
45
   
48
    rwlock_write_lock(&rwlock);
46
    rwlock_write_lock(&rwlock);
49
    rwlock_write_unlock(&rwlock);
47
    rwlock_write_unlock(&rwlock);
50
   
48
   
51
    if (!sh_quiet)
-
 
52
        printf("Trying to lock rwlock for reading....\n");
49
    TPRINTF("Trying to lock rwlock for reading....\n");
53
   
50
   
54
    rwlock_read_lock(&rwlock);
51
    rwlock_read_lock(&rwlock);
55
    rwlock_read_unlock(&rwlock);   
52
    rwlock_read_unlock(&rwlock);
56
}
53
}
57
 
54
 
58
char * test_rwlock2(bool quiet)
55
char *test_rwlock2(void)
59
{
56
{
60
    thread_t *thrd;
57
    thread_t *thrd;
61
    sh_quiet = quiet;
-
 
62
   
58
   
63
    rwlock_initialize(&rwlock);
59
    rwlock_initialize(&rwlock);
64
 
60
   
65
    rwlock_read_lock(&rwlock);
61
    rwlock_read_lock(&rwlock);
66
    rwlock_read_lock(&rwlock);
62
    rwlock_read_lock(&rwlock);