12 #ifdef __CPROVER_CUSTOM_BITVECTOR_ANALYSIS
29 #ifdef __CPROVER_CUSTOM_BITVECTOR_ANALYSIS
31 "semaphore must be initialized");
33 "semaphore must not be destroyed");
49 #ifdef __CPROVER_CUSTOM_BITVECTOR_ANALYSIS
51 "semaphore must be initialized");
53 "semaphore must not be destroyed");
68 #ifdef __CPROVER_CUSTOM_BITVECTOR_ANALYSIS
70 "semaphore must be initialized");
72 "semaphore must not be destroyed");
87 #ifdef __CPROVER_CUSTOM_BITVECTOR_ANALYSIS
89 "semaphore must be initialized");
91 "semaphore must not be destroyed");
107 #ifdef __CPROVER_CUSTOM_BITVECTOR_ANALYSIS
109 "semaphore must be initialized");
111 "semaphore must not be destroyed");
119#include <semaphore.h>
127 #ifdef __CPROVER_CUSTOM_BITVECTOR_ANALYSIS
129 "semaphore must be initialized");
131 "semaphore must not be destroyed");
139#include <semaphore.h>
146 #ifdef __CPROVER_CUSTOM_BITVECTOR_ANALYSIS
148 "semaphore must be initialized");
150 "semaphore must not be destroyed");
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
int sem_trywait(sem_t *sem)
int sem_init(sem_t *sem, int pshared, unsigned int value)
int sem_destroy(sem_t *sem)
int sem_post_multiple(sem_t *sem, int number)
int sem_getvalue(sem_t *sem, int *sval)
int sem_timedwait(sem_t *sem, const struct timespec *abstime)