| 148 | |
| 149 | |
| 150 | int init_mutex_cond(pthread_mutex_t *mutex, pthread_cond_t *cond) |
| 151 | { |
| 152 | pthread_mutexattr_t mattr; |
| 153 | FD_CHECK(pthread_mutexattr_init(&mattr)); |
| 154 | FD_CHECK(pthread_mutexattr_setpshared(&mattr, PTHREAD_PROCESS_SHARED)); |
| 155 | FD_CHECK(pthread_mutexattr_setrobust(&mattr, PTHREAD_MUTEX_ROBUST)); |
| 156 | FD_CHECK(pthread_mutex_init(mutex, &mattr)); |
| 157 | pthread_mutexattr_destroy(&mattr); |
| 158 | |
| 159 | pthread_condattr_t cattr; |
| 160 | FD_CHECK(pthread_condattr_init(&cattr)); |
| 161 | FD_CHECK(pthread_condattr_setpshared(&cattr, PTHREAD_PROCESS_SHARED)); |
| 162 | FD_CHECK(pthread_cond_init(cond, &cattr)); |
| 163 | pthread_condattr_destroy(&cattr); |
| 164 | |
| 165 | return 0; |
| 166 | } |
| 167 | |
| 168 | |
| 169 | static inline void dm_update_unreplied_req(struct msg *req) |
no outgoing calls
no test coverage detected