blob: ce5ef7941589a738f8dd2adbbcef214b8f98c3a6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// Jack Sangdahl
// CSCI3753 SP24
// PA4 Shared Array
#include <pthread.h>
#include <semaphore.h>
#pragma once
#define ARRAY_SIZE 8
typedef struct {
void *data[ARRAY_SIZE];
int head;
int tail;
pthread_mutex_t lock;
sem_t avail;
sem_t empty;
} array;
int array_init(array *q);
int array_put(array *q, char *hostname);
int array_get(array *q, char **hostname);
void array_free(array *q);
|