line |
true |
false |
branch |
32
|
0 |
22 |
if(threads_count == 0) |
41
|
0 |
22 |
if(mythread->entries == NULL) |
45
|
0 |
22 |
if(mythread->attr == NULL) |
63
|
0 |
22 |
if(mythread == NULL) |
66
|
22 |
0 |
if(mythread->entries) { |
75
|
22 |
0 |
if(self_destroy) { |
87
|
0 |
22 |
if(mythread->entries_length >= mythread->entries_size) |
102
|
0 |
22 |
if(entry->context.mutex == NULL) |
105
|
0 |
22 |
if(mythread_mutex_wait(mythread, entry->context.mutex)) { |
111
|
0 |
22 |
if(entry->thread == NULL) { |
131
|
0 |
0 |
for (size_t i = 0; i < mythread->entries_length; i++) { |
132
|
0 |
0 |
if(before_join) |
135
|
0 |
0 |
if(mythread_thread_join(mythread, mythread->entries[i].thread)) |
146
|
22 |
22 |
for (size_t i = 0; i < mythread->entries_length; i++) |
148
|
14 |
8 |
if(before_join) |
163
|
0 |
12 |
if(mythread->opt & MyTHREAD_OPT_STOP) |
168
|
12 |
12 |
for (size_t i = 0; i < mythread->entries_length; i++) |
170
|
13 |
12 |
while((mythread->entries[i].context.opt & MyTHREAD_OPT_STOP) == 0) { |
180
|
0 |
24 |
if(mythread->opt & MyTHREAD_OPT_WAIT) |
185
|
24 |
24 |
for (size_t i = 0; i < mythread->entries_length; i++) |
187
|
27 |
12 |
while((mythread->entries[i].context.opt & MyTHREAD_OPT_STOP) == 0 && |
|
15 |
12 |
while((mythread->entries[i].context.opt & MyTHREAD_OPT_STOP) == 0 && |
199
|
24 |
42 |
if(mythread->opt & MyTHREAD_OPT_WAIT) { |
206
|
42 |
42 |
for (size_t i = 0; i < mythread->entries_length; i++) |
208
|
34 |
8 |
if(mythread->entries[i].context.opt & MyTHREAD_OPT_STOP) { |
211
|
0 |
34 |
if(mythread_mutex_post(mythread, mythread->entries[i].context.mutex)) |
221
|
6 |
6 |
for (size_t i = 0; i < mythread->entries_length; i++) |
223
|
0 |
6 |
if(mythread->entries[i].context.status) |
245
|
0 |
0 |
if(before_join) |
248
|
0 |
0 |
if(mythread_thread_join(entry->context.mythread, entry->thread)) |
256
|
0 |
0 |
if(before_join) |
270
|
0 |
0 |
if(entry->context.opt & MyTHREAD_OPT_STOP) |
275
|
0 |
0 |
while((entry->context.opt & MyTHREAD_OPT_STOP) == 0) { |
284
|
0 |
0 |
if(entry->context.opt & MyTHREAD_OPT_WAIT) |
289
|
0 |
0 |
while((entry->context.opt & MyTHREAD_OPT_STOP) == 0 && (entry->context.opt & MyTHREAD_OPT_WAIT) == 0) { |
|
0 |
0 |
while((entry->context.opt & MyTHREAD_OPT_STOP) == 0 && (entry->context.opt & MyTHREAD_OPT_WAIT) == 0) { |
298
|
0 |
0 |
if(entry->context.opt & MyTHREAD_OPT_WAIT) { |
301
|
0 |
0 |
else if(entry->context.opt & MyTHREAD_OPT_STOP) { |
304
|
0 |
0 |
if(mythread_mutex_post(entry->context.mythread, entry->context.mutex)) |
326
|
0 |
14 |
while((entry->context.opt & MyTHREAD_OPT_QUIT) == 0) |