| 371 | } |
| 372 | |
| 373 | inline static void lock_set_get(gen_lock_set_t* s, int n) |
| 374 | { |
| 375 | struct sembuf sop; |
| 376 | sop.sem_num=n; |
| 377 | sop.sem_op=-1; /* down */ |
| 378 | sop.sem_flg=0; |
| 379 | tryagain: |
| 380 | if (semop(s->semid, &sop, 1)==-1){ |
| 381 | if (errno==EINTR){ |
| 382 | LM_DBG("signal received while waiting on a mutex\n"); |
| 383 | goto tryagain; |
| 384 | }else{ |
| 385 | LM_CRIT("%s (%d)\n", strerror(errno), errno); |
| 386 | } |
| 387 | } |
| 388 | } |
| 389 | |
| 390 | inline static void lock_set_release(gen_lock_set_t* s, int n) |
| 391 | { |
no outgoing calls
no test coverage detected