From d92369c96ac797cc0ce86f474ec7e1ea46ab1fcb Mon Sep 17 00:00:00 2001
From: Matt Strapp <strap012@umn.edu>
Date: Sat, 21 Nov 2020 20:00:57 -0600
Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

---
 P3/.vscode/launch.json |  2 +-
 P3/server.c            | 15 +++++++--------
 2 files changed, 8 insertions(+), 9 deletions(-)

(limited to 'P3')

diff --git a/P3/.vscode/launch.json b/P3/.vscode/launch.json
index 5fab37f..f529d06 100644
--- a/P3/.vscode/launch.json
+++ b/P3/.vscode/launch.json
@@ -9,7 +9,7 @@
         "type": "cppdbg",
         "request": "launch",
         "program": "${workspaceFolder}/web_server",
-        "args": ["9000", "testing", "2", "2", "0", "10", "3"],
+        "args": ["9000", "testing", "100", "100", "1", "100", "100"],
         "stopAtEntry": false,
         
         "cwd": "${workspaceFolder}",
diff --git a/P3/server.c b/P3/server.c
index 7946457..5164a91 100644
--- a/P3/server.c
+++ b/P3/server.c
@@ -26,7 +26,7 @@ int tempNodeCounter = 0, counter2 = 0;
 pthread_t *wID;
 char *path;
 pthread_mutex_t Qlock, logLock, cacheLock;
-clock_t start_t, end_t, total_t;
+clock_t start_t, end_t, total_t = 600;
 void *worker(void *arg);
 
 /*
@@ -64,10 +64,10 @@ void *dynamic_pool_size_update(void *arg)
     // Policy: Have clock tracking how long the whole process takes
     //         If above maxProcessTime -> spawn X workers
     //         Else if below mostEfficientTime kill all unnecessary threads leaving 1(or 2) of each
-    if (total_t > 30)
+    if (total_t > 3000)
     {
       // Threads must be detachable
-      wID = realloc(wID, (++wIndex) * sizeof(pthread_t));
+      wID = (pthread_t *) realloc(wID, (++wIndex * sizeof(pthread_t)));
       pthread_attr_t attr;
       pthread_attr_init(&attr);
       pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
@@ -78,10 +78,10 @@ void *dynamic_pool_size_update(void *arg)
       sprintf(threadName, "Worker %d", wIndex);
       pthread_setname_np(wID[wIndex - 1], threadName);
     }
-    else if (total_t < 6)
+    else if (total_t < 500)
     {
       //TODO: Make sure thread isn't doing anything before killing it
-      pthread_cancel(wID[--wIndex]);
+      pthread_cancel(wID[wIndex--]);
       // Need dynamically allocated array of thread ID's so we can cancel the necessary threads
       wID = realloc(wID, wIndex * sizeof(pthread_t));
     }
@@ -438,7 +438,7 @@ void *worker(void *arg)
     free(request);
     free(workerBuf);
     end_t = clock();
-    total_t = (double)(end_t - start_t) / CLOCKS_PER_SEC;
+    total_t = (double)(end_t - start_t);
     printf("Total time taken by CPU: %ld\n", total_t);
   }
   return NULL;
@@ -506,8 +506,7 @@ int main(int argc, char **argv)
   struct sigaction act;
   act.sa_handler = eggs;
   act.sa_flags = 0;
-  if (sigemptyset(&act.sa_mask) == -1 ||
-      sigaction(SIGINT, &act, NULL) == -1)
+  if (sigemptyset(&act.sa_mask) == -1 || sigaction(SIGINT, &act, NULL) == -1)
   {
     perror("SIGINT Handler Error");
     return -2;
-- 
cgit v1.2.3