blob: 9433da91ef0d80b8c743d2b70879a580f6d41ed2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
// Jack Sangdahl
// CSCI3753 SP24
// PA6 Threaded Resolver
#include "array.h"
#pragma once
#define MAX_INPUT_FILES 100
#define MAX_REQUESTER_THREADS 10
#define MAX_RESOLVER_THREADS 10
#define MAX_NAME_LENGTH 17
#define MAX_IP_LENGTH INET6_ADDRSTRLEN
struct requester_data {
char *req_log;
char **input_filenames;
array *stack;
int *file_idx;
int total_files;
int res_thread_cnt;
pthread_mutex_t file_idx_lock;
pthread_mutex_t req_log_lock;
};
struct resolver_data {
char *res_log;
array *stack;
int res_thread_cnt;
pthread_mutex_t term_lock;
pthread_mutex_t res_log_lock;
};
void *requester(void *a);
void *resolver(void *a);
double get_time_sec(void);
|