Setup structure for programs

This commit is contained in:
TriantaTV 2022-10-11 20:18:38 -05:00
parent 71b700d11e
commit 160dc9a99e
5 changed files with 48 additions and 1 deletions

View File

@ -2,5 +2,7 @@
#define CONSUMER_H
void Consumer(void);
void consume_item(int item);
long int remove_item(void);
#endif

View File

@ -2,5 +2,7 @@
#define PRODUCER_H
void Producer(void);
long int produce_item(void);
void insert_item(int item);
#endif

View File

@ -1,6 +1,25 @@
#include "consumer.h"
void Consumer(void)
{
int item;
while (1)
{
down(&full);
down(&mutex);
item = remove_item();
up(&mutex);
up(&empty);
consume_item(item);
}
}
void consume_item(item)
{
;
}
long int remove_item()
{
;
}

View File

@ -1,6 +1,11 @@
#include <stdio.h>
#include <semaphore.h>
#include <unistd.h>
semaphore mutex = 1;
semaphore empty;
semaphore full = 0;
int GetSplitAmount(char* argv);
int main(int argc, char* argv[])
@ -8,7 +13,6 @@ int main(int argc, char* argv[])
int splitLimit = 1;
if (argc == 2)
splitLimit = GetSplitAmount(argv[1]);
}
int GetSplitAmount(char* argv)

View File

@ -1,6 +1,26 @@
#include <stdlib.h>
#include "producer.h"
void Producer(void)
{
int item;
while (1)
{
item = produce_item();
down(&empty);
down(&mutex);
insert_item(item);
up(&mutex);
up(&full);
}
}
long int produce_item(void)
{
return random();
}
void insert_item(int item)
{
;
}