Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/coreutils/src/lib/glthread/lock.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||
2 | int | - | ||||||||||||
3 | glthread_rwlock_init_for_glibc (pthread_rwlock_t *lock) | - | ||||||||||||
4 | { | - | ||||||||||||
5 | pthread_rwlockattr_t attributes; | - | ||||||||||||
6 | int err; | - | ||||||||||||
7 | - | |||||||||||||
8 | err = pthread_rwlockattr_init (&attributes); | - | ||||||||||||
9 | if (err != 0
| 0 | ||||||||||||
10 | return never executed: err;return err; never executed: return err; | 0 | ||||||||||||
11 | - | |||||||||||||
12 | - | |||||||||||||
13 | - | |||||||||||||
14 | - | |||||||||||||
15 | err = pthread_rwlockattr_setkind_np (&attributes, | - | ||||||||||||
16 | PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP); | - | ||||||||||||
17 | if (err == 0
| 0 | ||||||||||||
18 | err = pthread_rwlock_init(lock, &attributes); never executed: err = pthread_rwlock_init(lock, &attributes); | 0 | ||||||||||||
19 | - | |||||||||||||
20 | - | |||||||||||||
21 | pthread_rwlockattr_destroy (&attributes); | - | ||||||||||||
22 | return never executed: err;return err; never executed: return err; | 0 | ||||||||||||
23 | } | - | ||||||||||||
24 | int | - | ||||||||||||
25 | glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock) | - | ||||||||||||
26 | { | - | ||||||||||||
27 | pthread_mutexattr_t attributes; | - | ||||||||||||
28 | int err; | - | ||||||||||||
29 | - | |||||||||||||
30 | err = pthread_mutexattr_init (&attributes); | - | ||||||||||||
31 | if (err != 0
| 0 | ||||||||||||
32 | return never executed: err;return err; never executed: return err; | 0 | ||||||||||||
33 | err = pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE); | - | ||||||||||||
34 | if (err != 0
| 0 | ||||||||||||
35 | { | - | ||||||||||||
36 | pthread_mutexattr_destroy (&attributes); | - | ||||||||||||
37 | return never executed: err;return err; never executed: return err; | 0 | ||||||||||||
38 | } | - | ||||||||||||
39 | err = pthread_mutex_init (lock, &attributes); | - | ||||||||||||
40 | if (err != 0
| 0 | ||||||||||||
41 | { | - | ||||||||||||
42 | pthread_mutexattr_destroy (&attributes); | - | ||||||||||||
43 | return never executed: err;return err; never executed: return err; | 0 | ||||||||||||
44 | } | - | ||||||||||||
45 | err = pthread_mutexattr_destroy (&attributes); | - | ||||||||||||
46 | if (err != 0
| 0 | ||||||||||||
47 | return never executed: err;return err; never executed: return err; | 0 | ||||||||||||
48 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
49 | } | - | ||||||||||||
50 | static const pthread_once_t fresh_once = | - | ||||||||||||
51 | 0 | - | ||||||||||||
52 | ; | - | ||||||||||||
53 | - | |||||||||||||
54 | int | - | ||||||||||||
55 | glthread_once_singlethreaded (pthread_once_t *once_control) | - | ||||||||||||
56 | { | - | ||||||||||||
57 | - | |||||||||||||
58 | - | |||||||||||||
59 | char *firstbyte = (char *)once_control; | - | ||||||||||||
60 | if (*
| 0 | ||||||||||||
61 | { | - | ||||||||||||
62 | - | |||||||||||||
63 | *firstbyte = ~ *(const char *)&fresh_once; | - | ||||||||||||
64 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||
65 | } | - | ||||||||||||
66 | else | - | ||||||||||||
67 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
68 | } | - | ||||||||||||
Switch to Source code | Preprocessed file |