1 2Testing pthread_mutex_init 3-------------------------- 4 Protocol PTHREAD_PRIO_NONE, Type POSIX (type not specified) - PASS 5 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_DEFAULT - PASS 6 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_ERRORCHECK - PASS 7 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_NORMAL - PASS 8 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_RECURSIVE - PASS 9 Protocol PTHREAD_PRIO_INHERIT, Type POSIX (type not specified) - PASS 10 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT - PASS 11 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK - PASS 12 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL - PASS 13 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE - PASS 14 Protocol PTHREAD_PRIO_PROTECT, Type POSIX (type not specified) - PASS 15 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT - PASS 16 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK - PASS 17 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL - PASS 18 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE - PASS 19 20Testing pthread_mutex_destroy 21----------------------------- 22 Protocol PTHREAD_PRIO_NONE, Type POSIX (type not specified) 23 Destruction of unused mutex - PASS 24 Destruction of mutex locked by self - PASS 25 Destruction of mutex locked by another thread - PASS 26 Destruction of mutex while being used in cond_wait - PASS 27 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_DEFAULT 28 Destruction of unused mutex - PASS 29 Destruction of mutex locked by self - PASS 30 Destruction of mutex locked by another thread - PASS 31 Destruction of mutex while being used in cond_wait - PASS 32 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_ERRORCHECK 33 Destruction of unused mutex - PASS 34 Destruction of mutex locked by self - PASS 35 Destruction of mutex locked by another thread - PASS 36 Destruction of mutex while being used in cond_wait - PASS 37 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_NORMAL 38 Destruction of unused mutex - PASS 39 Destruction of mutex locked by self - PASS 40 Destruction of mutex locked by another thread - PASS 41 Destruction of mutex while being used in cond_wait - PASS 42 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_RECURSIVE 43 Destruction of unused mutex - PASS 44 Destruction of mutex locked by self - PASS 45 Destruction of mutex locked by another thread - PASS 46 Destruction of mutex while being used in cond_wait - PASS 47 Protocol PTHREAD_PRIO_INHERIT, Type POSIX (type not specified) 48 Destruction of unused mutex - PASS 49 Destruction of mutex locked by self - PASS 50 Destruction of mutex locked by another thread - PASS 51 Destruction of mutex while being used in cond_wait - PASS 52 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT 53 Destruction of unused mutex - PASS 54 Destruction of mutex locked by self - PASS 55 Destruction of mutex locked by another thread - PASS 56 Destruction of mutex while being used in cond_wait - PASS 57 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK 58 Destruction of unused mutex - PASS 59 Destruction of mutex locked by self - PASS 60 Destruction of mutex locked by another thread - PASS 61 Destruction of mutex while being used in cond_wait - PASS 62 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL 63 Destruction of unused mutex - PASS 64 Destruction of mutex locked by self - PASS 65 Destruction of mutex locked by another thread - PASS 66 Destruction of mutex while being used in cond_wait - PASS 67 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE 68 Destruction of unused mutex - PASS 69 Destruction of mutex locked by self - PASS 70 Destruction of mutex locked by another thread - PASS 71 Destruction of mutex while being used in cond_wait - PASS 72 Protocol PTHREAD_PRIO_PROTECT, Type POSIX (type not specified) 73 Destruction of unused mutex - PASS 74 Destruction of mutex locked by self - PASS 75 Destruction of mutex locked by another thread - PASS 76 Destruction of mutex while being used in cond_wait - PASS 77 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT 78 Destruction of unused mutex - PASS 79 Destruction of mutex locked by self - PASS 80 Destruction of mutex locked by another thread - PASS 81 Destruction of mutex while being used in cond_wait - PASS 82 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK 83 Destruction of unused mutex - PASS 84 Destruction of mutex locked by self - PASS 85 Destruction of mutex locked by another thread - PASS 86 Destruction of mutex while being used in cond_wait - PASS 87 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL 88 Destruction of unused mutex - PASS 89 Destruction of mutex locked by self - PASS 90 Destruction of mutex locked by another thread - PASS 91 Destruction of mutex while being used in cond_wait - PASS 92 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE 93 Destruction of unused mutex - PASS 94 Destruction of mutex locked by self - PASS 95 Destruction of mutex locked by another thread - PASS 96 Destruction of mutex while being used in cond_wait - PASS 97 98Testing pthread_mutex_lock 99-------------------------- 100 Protocol PTHREAD_PRIO_NONE, Type POSIX (type not specified) 101 Lock on unlocked mutex - PASS 102 Lock on invalid mutex - PASS 103 Lock on mutex held by self - PASS 104 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_DEFAULT 105 Lock on unlocked mutex - PASS 106 Lock on invalid mutex - PASS 107 Lock on mutex held by self - PASS 108 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_ERRORCHECK 109 Lock on unlocked mutex - PASS 110 Lock on invalid mutex - PASS 111 Lock on mutex held by self - PASS 112 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_NORMAL 113 Lock on unlocked mutex - PASS 114 Lock on invalid mutex - PASS 115 Lock on mutex held by self - PASS 116 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_RECURSIVE 117 Lock on unlocked mutex - PASS 118 Lock on invalid mutex - PASS 119 Lock on mutex held by self - PASS 120 Protocol PTHREAD_PRIO_INHERIT, Type POSIX (type not specified) 121 Lock on unlocked mutex - PASS 122 Lock on invalid mutex - PASS 123 Lock on mutex held by self - PASS 124 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT 125 Lock on unlocked mutex - PASS 126 Lock on invalid mutex - PASS 127 Lock on mutex held by self - PASS 128 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK 129 Lock on unlocked mutex - PASS 130 Lock on invalid mutex - PASS 131 Lock on mutex held by self - PASS 132 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL 133 Lock on unlocked mutex - PASS 134 Lock on invalid mutex - PASS 135 Lock on mutex held by self - PASS 136 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE 137 Lock on unlocked mutex - PASS 138 Lock on invalid mutex - PASS 139 Lock on mutex held by self - PASS 140 Protocol PTHREAD_PRIO_PROTECT, Type POSIX (type not specified) 141 Lock on unlocked mutex - PASS 142 Lock on invalid mutex - PASS 143 Lock on mutex held by self - PASS 144 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT 145 Lock on unlocked mutex - PASS 146 Lock on invalid mutex - PASS 147 Lock on mutex held by self - PASS 148 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK 149 Lock on unlocked mutex - PASS 150 Lock on invalid mutex - PASS 151 Lock on mutex held by self - PASS 152 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL 153 Lock on unlocked mutex - PASS 154 Lock on invalid mutex - PASS 155 Lock on mutex held by self - PASS 156 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE 157 Lock on unlocked mutex - PASS 158 Lock on invalid mutex - PASS 159 Lock on mutex held by self - PASS 160 161Testing pthread_mutex_unlock 162---------------------------- 163 Protocol PTHREAD_PRIO_NONE, Type POSIX (type not specified) 164 Unlock on mutex held by self - PASS 165 Unlock on invalid mutex - PASS 166 Unlock on mutex locked by another thread - PASS 167 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_DEFAULT 168 Unlock on mutex held by self - PASS 169 Unlock on invalid mutex - PASS 170 Unlock on mutex locked by another thread - PASS 171 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_ERRORCHECK 172 Unlock on mutex held by self - PASS 173 Unlock on invalid mutex - PASS 174 Unlock on mutex locked by another thread - PASS 175 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_NORMAL 176 Unlock on mutex held by self - PASS 177 Unlock on invalid mutex - PASS 178 Unlock on mutex locked by another thread - PASS 179 Protocol PTHREAD_PRIO_NONE, Type SS2 PTHREAD_MUTEX_RECURSIVE 180 Unlock on mutex held by self - PASS 181 Unlock on invalid mutex - PASS 182 Unlock on mutex locked by another thread - PASS 183 Protocol PTHREAD_PRIO_INHERIT, Type POSIX (type not specified) 184 Unlock on mutex held by self - PASS 185 Unlock on invalid mutex - PASS 186 Unlock on mutex locked by another thread - PASS 187 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT 188 Unlock on mutex held by self - PASS 189 Unlock on invalid mutex - PASS 190 Unlock on mutex locked by another thread - PASS 191 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK 192 Unlock on mutex held by self - PASS 193 Unlock on invalid mutex - PASS 194 Unlock on mutex locked by another thread - PASS 195 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL 196 Unlock on mutex held by self - PASS 197 Unlock on invalid mutex - PASS 198 Unlock on mutex locked by another thread - PASS 199 Protocol PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE 200 Unlock on mutex held by self - PASS 201 Unlock on invalid mutex - PASS 202 Unlock on mutex locked by another thread - PASS 203 Protocol PTHREAD_PRIO_PROTECT, Type POSIX (type not specified) 204 Unlock on mutex held by self - PASS 205 Unlock on invalid mutex - PASS 206 Unlock on mutex locked by another thread - PASS 207 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT 208 Unlock on mutex held by self - PASS 209 Unlock on invalid mutex - PASS 210 Unlock on mutex locked by another thread - PASS 211 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK 212 Unlock on mutex held by self - PASS 213 Unlock on invalid mutex - PASS 214 Unlock on mutex locked by another thread - PASS 215 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL 216 Unlock on mutex held by self - PASS 217 Unlock on invalid mutex - PASS 218 Unlock on mutex locked by another thread - PASS 219 Protocol PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE 220 Unlock on mutex held by self - PASS 221 Unlock on invalid mutex - PASS 222 Unlock on mutex locked by another thread - PASS 223 224Testing queueing order 225---------------------- 226 Queueing order on a mutex - PASS 227 Queueing order on a condition variable - PASS 228 229Testing priority inheritance 230---------------------------- 231 Protype PTHREAD_PRIO_INHERIT, Type POSIX (type not specified) 232 Simple inheritance test - PASS 233 Inheritance test with change of priority - PASS 234 Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_DEFAULT 235 Simple inheritance test - PASS 236 Inheritance test with change of priority - PASS 237 Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_ERRORCHECK 238 Simple inheritance test - PASS 239 Inheritance test with change of priority - PASS 240 Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_NORMAL 241 Simple inheritance test - PASS 242 Inheritance test with change of priority - PASS 243 Protype PTHREAD_PRIO_INHERIT, Type SS2 PTHREAD_MUTEX_RECURSIVE 244 Simple inheritance test - PASS 245 Inheritance test with change of priority - PASS 246 247Testing priority ceilings 248------------------------- 249 Protype PTHREAD_PRIO_PROTECT, Type POSIX (type not specified) 250 Lock with ceiling priority < thread priority - PASS 251 Lock with ceiling priority = thread priority - PASS 252 Lock with ceiling priority > thread priority - PASS 253 Preemption with ceiling priority < thread priority - PASS 254 Preemption with ceiling priority = thread priority - PASS 255 SCHED_FIFO scheduling and ceiling priority = thread priority - PASS 256 SCHED_FIFO scheduling and ceiling priority > thread priority - PASS 257 Protype PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_DEFAULT 258 Lock with ceiling priority < thread priority - PASS 259 Lock with ceiling priority = thread priority - PASS 260 Lock with ceiling priority > thread priority - PASS 261 Preemption with ceiling priority < thread priority - PASS 262 Preemption with ceiling priority = thread priority - PASS 263 SCHED_FIFO scheduling and ceiling priority = thread priority - PASS 264 SCHED_FIFO scheduling and ceiling priority > thread priority - PASS 265 Protype PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_ERRORCHECK 266 Lock with ceiling priority < thread priority - PASS 267 Lock with ceiling priority = thread priority - PASS 268 Lock with ceiling priority > thread priority - PASS 269 Preemption with ceiling priority < thread priority - PASS 270 Preemption with ceiling priority = thread priority - PASS 271 SCHED_FIFO scheduling and ceiling priority = thread priority - PASS 272 SCHED_FIFO scheduling and ceiling priority > thread priority - PASS 273 Protype PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_NORMAL 274 Lock with ceiling priority < thread priority - PASS 275 Lock with ceiling priority = thread priority - PASS 276 Lock with ceiling priority > thread priority - PASS 277 Preemption with ceiling priority < thread priority - PASS 278 Preemption with ceiling priority = thread priority - PASS 279 SCHED_FIFO scheduling and ceiling priority = thread priority - PASS 280 SCHED_FIFO scheduling and ceiling priority > thread priority - PASS 281 Protype PTHREAD_PRIO_PROTECT, Type SS2 PTHREAD_MUTEX_RECURSIVE 282 Lock with ceiling priority < thread priority - PASS 283 Lock with ceiling priority = thread priority - PASS 284 Lock with ceiling priority > thread priority - PASS 285 Preemption with ceiling priority < thread priority - PASS 286 Preemption with ceiling priority = thread priority - PASS 287 SCHED_FIFO scheduling and ceiling priority = thread priority - PASS 288 SCHED_FIFO scheduling and ceiling priority > thread priority - PASS 289 290Total tests 212, passed 212, failed 0 291