*** POSIX TEST 5 *** Init's ID is 0x0c010001 Init: pthread_mutexattr_init - EINVAL (NULL attr) Init: pthread_mutexattr_init - SUCCESSFUL Init: mutex protocol is (0) -- PTHREAD_PRIO_NONE Init: mutex priority ceiling is 254 Init: mutex process shared is (0) -- PTHREAD_PROCESS_PRIVATE Init: pthread_mutexattr_destroy - SUCCESSFUL Init: pthread_mutexattr_destroy - EINVAL (NULL attr) Init: pthread_mutexattr_destroy - EINVAL (not initialized) Init: pthread_mutexattr_getpshared - EINVAL (NULL attr) Init: pthread_mutexattr_getpshared - EINVAL (NULL pshared) Init: pthread_mutexattr_getpshared - EINVAL (not initialized) Init: pthread_mutexattr_setpshared - EINVAL (NULL attr) Init: pthread_mutexattr_setpshared - EINVAL (not initialized) Init: pthread_mutexattr_getprotocol - EINVAL (NULL attr) Init: pthread_mutexattr_getprotocol - EINVAL (NULL protocol) Init: pthread_mutexattr_getprotocol - EINVAL (not initialized) Init: pthread_mutexattr_setprotocol - EINVAL (NULL attr) Init: pthread_mutexattr_setprotocol - EINVAL (invalid protocol) Init: pthread_mutexattr_setprotocol - EINVAL (not initialized) Init: pthread_mutexattr_getprioceiling - EINVAL (NULL attr) Init: pthread_mutexattr_getprioceiling - EINVAL (NULL prioceiling) Init: pthread_mutexattr_getprioceiling - EINVAL (not initialized) Init: pthread_mutexattr_setprioceiling - EINVAL (NULL attr) Init: pthread_mutexattr_setprioceiling - EINVAL (invalid priority) Init: pthread_mutexattr_setprioceiling - EINVAL (not initialized) Init: pthread_mutex_init - EINVAL (NULL mutex_id) Init: pthread_mutex_init - EINVAL (not initialized attr) Init: pthread_mutex_init - EINVAL (bad protocol) Init: pthread_mutex_init - EINVAL (bad priority ceiling) Init: Resetting mutex attributes Init: Changing mutex attributes Init: mutex protocol is (1) -- PTHREAD_PRIO_INHERIT Init: mutex priority ceiling is 128 Init: mutex process shared is (1) -- PTHREAD_PROCESS_SHARED Init: Resetting mutex attributes Init: pthread_mutex_init - SUCCESSFUL Init: pthread_mutex_init - EBUSY (attempt to initialize an existing mutex) Init: pthread_mutex_trylock - EINVAL (illegal ID) Init: pthread_mutex_trylock - SUCCESSFUL Init: pthread_mutex_trylock - EDEADLK (already locked) Init: pthread_mutex_lock - EDEADLK (already locked) Init: Sleep 1 second Task: pthread_mutex_trylock already locked Task: pthread_mutex_lock unavailable Init: pthread_mutex_unlock - EINVAL (invalid id) Init: pthread_mutex_unlock - SUCCESSFUL Init: pthread_mutex_unlock - EPERM (not owner) Init: pthread_mutex_timedlock - time out in 1/2 second Task: mutex acquired Task: sleep for 2 seconds Init: pthread_mutex_timedlock - EAGAIN (timeout) Init: pthread_mutex_init - SUCCESSFUL Init: pthread_mutex_init - EAGAIN (too many) Init: pthread_mutexattr_destroy - SUCCESSFUL Init: pthread_mutex_destroy - SUCCESSFUL Init: pthread_mutex_destroy - EINVAL (invalid id) Init: pthread_mutexattr_init - SUCCESSFUL Init: pthread_mutex_init - SUCCESSFUL Init: pthread_mutex_trylock - SUCCESSFUL Init: pthread_mutex_destroy - EBUSY (already locked) Init: pthread_mutex_unlock - SUCCESSFUL Init: pthread_mutex_destroy - SUCCESSFUL Init: pthread_mutexattr_init - SUCCESSFUL Init: pthread_mutexattr_setprotocol - SUCCESSFUL (PTHREAD_PRIO_INHERIT) Init: pthread_mutex_init - SUCCESSFUL Init: pthread_mutex_trylock - SUCCESSFUL Init: pthread_setschedparam - Setting Task2 priority to highest Task 2: pthread_mutex_lock unavailable (inherit case) Init: pthread_getschedparam - priority = 254 Init: pthread_mutex_unlock - SUCCESSFUL Task 2: mutex acquired Task 2: unlock Mutex 2 Task 2: exit Init: pthread_mutexattr_destroy - SUCCESSFUL Init: pthread_mutex_destroy - SUCCESSFUL Init: pthread_mutexattr_init - SUCCESSFUL Init: pthread_mutexattr_setprotocol - SUCCESSFUL (PTHREAD_PRIO_PROTECT) Init: pthread_mutex_init - SUCCESSFUL Init: pthread_mutex_getprioceiling - EINVAL (invalid id) Init: pthread_mutex_getprioceiling - EINVAL (NULL ceiling) Init: pthread_mutex_getprioceiling - 254 Init: pthread_mutex_setprioceiling - EINVAL (invalid id) Init: pthread_mutex_setprioceiling - EINVAL (illegal priority) Init: pthread_mutex_setprioceiling - EINVAL (NULL ceiling) Init: pthread_mutex_setprioceiling - new ceiling = 200 Init: pthread_mutex_setprioceiling - old ceiling = 1 Init: pthread_getschedparam - priority = 2 Init: pthread_mutex_trylock - SUCCESSFUL Init: pthread_getschedparam - priority = 200 Init: pthread_setschedparam - set Task3 priority to highest Init: Sleep 1 second Task 3: pthread_mutex_lock unavailable (inherit case) Init: pthread_mutex_unlock - SUCCESSFUL Task 3: mutex acquired Task 3: unlock Mutex 2 Task 3: pthread_getschedparam priority = 199 Task 3: exit Init: pthread_mutex_getprioceiling- ceiling = 200 Init: pthread_setschedparam - set Init priority to highest Init: pthread_mutex_lock - EINVAL (priority ceiling violation) *** END OF POSIX TEST 5 ***