diff options
Diffstat (limited to '')
| -rw-r--r-- | P3/server.c | 21 | 
1 files changed, 10 insertions, 11 deletions
| diff --git a/P3/server.c b/P3/server.c index 65ccc15..a760903 100644 --- a/P3/server.c +++ b/P3/server.c @@ -40,9 +40,9 @@ typedef struct cache_entry {      int len;      char *request;      char *content; +    struct cache_entry* next;  } cache_entry_t; - - +cache_entry_t *dynQ = NULL; //The cache queue  /* ******************** Dynamic Pool Code  [Extra Credit A] **********************/  // Extra Credit: This function implements the policy to change the worker thread pool dynamically @@ -76,6 +76,12 @@ void deleteCache(){  // Function to initialize the cache  void initCache(){ +  dynQ = (cache_entry_t *)calloc(sizeof(cache_entry_t), cSiz); +  if (dynQ == NULL) +  { +    printf("malloc cannot allocate the initial requested memory.\n"); +    exit(-2); +  }    // Allocating memory and initializing the cache array  } @@ -303,15 +309,8 @@ int main(int argc, char **argv) {      return -2;    }    // Initialize cache (extra credit B) -  cache_entry_t *dynQ; -  if (cSiz != 0) { -    //Should the queue start this large? -    dynQ =  (cache_entry_t*) calloc(sizeof(cache_entry_t), cSiz); -    if (dynQ == NULL) { -      printf("malloc cannot allocate the initial requested memory.\n"); -      exit(-2); -    } -  }  +  initCache(); +    //Make sure threads are all detached    pthread_attr_t attr;    pthread_attr_init(&attr); | 
