Synchronization [POSIX Section 11]

Functions Implemented

int sem_init(sem_t *sem, int pshared, unsigned int value); 
int sem_destroy(sem_t *sem); 
int sem_wait(sem_t *sem); 
int sem_trywait(sem_t *sem); 
int sem_post(sem_t *sem);
int sem_getvalue(sem_t *sem, int *sval); 
int pthread_mutexattr_init( pthread_mutexattr_t *attr); 
int pthread_mutexattr_destroy( pthread_mutexattr_t *attr); 
int pthread_mutex_init(pthread_mutex_t *mutex,
	               const pthread_mutexattr_t *mutex_attr); 
int pthread_mutex_destroy(pthread_mutex_t *mutex); 
int pthread_mutex_lock(pthread_mutex_t *mutex); 
int pthread_mutex_trylock(pthread_mutex_t *mutex); 
int pthread_mutex_unlock(pthread_mutex_t *mutex); 
int pthread_condattr_init(pthread_condattr_t *attr); 
int pthread_condattr_destroy(pthread_condattr_t *attr); 
int pthread_cond_init(pthread_cond_t *cond, 
	               const pthread_condattr_t *attr); 
int pthread_cond_destroy(pthread_cond_t *cond); 
int pthread_cond_signal(pthread_cond_t *cond); 
int pthread_cond_broadcast(pthread_cond_t *cond); 
int pthread_cond_wait(pthread_cond_t *cond, 
	               pthread_mutex_t *mutex);
int pthread_cond_timedwait(pthread_cond_t *cond,
	                   pthread_mutex_t *mutex,
	                   const struct timespec *abstime);

Functions Omitted

sem_t *sem_open(const char *name, int oflag, ...);		// TBA 
int sem_close(sem_t *sem);					// TBA 
int sem_unlink(const char *name);				// TBA 
int pthread_mutexattr_getpshared( const pthread_mutexattr_t *attr,
	                          int *pshared );
int pthread_mutexattr_setpshared( const pthread_mutexattr_t *attr,
	                          int pshared );
int  pthread_condattr_getpshared( const pthread_condattr_t *attr, 
	                          int *pshared);
int  pthread_condattr_setpshared( const pthread_condattr_t *attr,
	                          int pshared);

Notes