All pastes #235306 Raw Edit

Untitled

public c v1 · immutable
·published 2006-11-03 04:07 UTC
rendered paste body
semaphore.h#ifndef _SEMAPHORE_H#define _SEMAPHORE_H#include <stdlib.h>#include <pthread.h>typedef struct semaphore{  pthread_mutex_t lock;  pthread_cond_t signal;  int value;} semaphore_t;semaphore_t * initialize(int value);void prolaag(semaphore_t *sem, pthread_mutex_t *waitLock);void verhoog(semaphore_t *sem);#endifsemaphore.c #include "semaphore.h"semaphore_t  * initialize(int value){  semaphore_t *temp;  temp = (semaphore_t*)malloc(sizeof(semaphore_t));  temp->lock = PTHREAD_MUTEX_INITIALIZER;  temp->signal = PTHREAD_COND_INITIALIZER;  temp->value = value;    return temp;}  void prolaag(semaphore_t *sem, pthread_mutex_t *waitLock){  if (pthread_mutex_lock(&sem->lock))    exit(0); // exits if mutex fails    sem->value= sem->value - 1;    if (sem->value < 0){    pthread_mutex_unlock(&sem->lock);    pthread_mutex_unlock(waitLock);    pthread_cond_wait(&sem->signal, &sem->lock);  }  pthread_mutex_unlock(&sem->lock);}void verhoog(semaphore_t *sem){  if (pthread_mutex_lock(&sem->lock))      exit(0); // exits if mutex fails  sem->value = sem->value + 1;      if(sem->value <= 0)    pthread_cond_signal(&sem->signal);      pthread_mutex_unlock(&sem->lock);}errorlest0039@lind24-12 (~/csci5103/posix) % makegcc -g -Wall   -c -o semaphore.o semaphore.csemaphore.c: In function ‘initialize’:semaphore.c:9: error: syntax error before ‘{’ tokensemaphore.c:9: warning: control reaches end of non-void functionsemaphore.c: At top level:semaphore.c:10: error: syntax error before ‘->’ tokensemaphore.c:11: error: syntax error before ‘->’ tokenmake: *** [semaphore.o] Error 1lest0039@lind24-12 (~/csci5103/posix) %