diff --git a/Semaphore.c b/Semaphore.c index e69de29..07a23db 100644 --- a/Semaphore.c +++ b/Semaphore.c @@ -0,0 +1,37 @@ +#include + +typedef struct sem_t +{ + ; +} sem_t; + +void* ThreadOne(void* voidPass); +void* ThreadTwo(void* voidPass); +void sem_post(sem_t* semaphore); +void sem_wait(sem_t* semaphore); + +sem_t aArrived, bArrived; + + +int main(void) +{ + return 0; +} + +// Thread A for testing multithread +void* ThreadOne(void* voidPass) +{ + printf("a1\n"); + sem_post(&aArrived); + sem_wait(&bArrived); + printf("a2\n"); +} + +// Thread B for testing multithread +void* ThreadTwo(void* voidPass) +{ + printf("b1\n"); + sem_post(&bArrived); + sem_wait(&aArrived); + printf("b2\n"); +} diff --git a/TestSemaphore.sh b/TestSemaphore.sh index 9d552c7..881f0f1 100755 --- a/TestSemaphore.sh +++ b/TestSemaphore.sh @@ -1,3 +1,4 @@ #!/bin/bash rm Semaphore.out gcc Semaphore.c -o Semaphore.out +./Semaphore.out