Rev 1196 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1196 | Rev 1658 | ||
|---|---|---|---|
| Line 48... | Line 48... | ||
| 48 | static void reader(void *arg); |
48 | static void reader(void *arg); |
| 49 | static void failed(void); |
49 | static void failed(void); |
| 50 | 50 | ||
| 51 | void writer(void *arg) |
51 | void writer(void *arg) |
| 52 | { |
52 | { |
| - | 53 | thread_detach(THREAD); |
|
| - | 54 | ||
| 53 | waitq_sleep(&can_start); |
55 | waitq_sleep(&can_start); |
| 54 | 56 | ||
| 55 | rwlock_write_lock(&rwlock); |
57 | rwlock_write_lock(&rwlock); |
| 56 | atomic_inc(&items_written); |
58 | atomic_inc(&items_written); |
| 57 | rwlock_write_unlock(&rwlock); |
59 | rwlock_write_unlock(&rwlock); |
| 58 | } |
60 | } |
| 59 | 61 | ||
| 60 | void reader(void *arg) |
62 | void reader(void *arg) |
| 61 | { |
63 | { |
| - | 64 | thread_detach(THREAD); |
|
| - | 65 | ||
| 62 | waitq_sleep(&can_start); |
66 | waitq_sleep(&can_start); |
| 63 | 67 | ||
| 64 | rwlock_read_lock(&rwlock); |
68 | rwlock_read_lock(&rwlock); |
| 65 | atomic_inc(&items_read); |
69 | atomic_inc(&items_read); |
| 66 | rwlock_read_unlock(&rwlock); |
70 | rwlock_read_unlock(&rwlock); |