aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.vscode/c_cpp_properties.json2
-rw-r--r--csci4061/110920_breakout/sol1.c10
-rw-r--r--csci4061/110920_breakout/sol2.c10
-rw-r--r--csci4061/110920_breakout/zip/sol1.c37
-rw-r--r--csci4061/110920_breakout/zip/sol2.c52
5 files changed, 99 insertions, 12 deletions
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
index fc26ed4..fb33847 100644
--- a/.vscode/c_cpp_properties.json
+++ b/.vscode/c_cpp_properties.json
@@ -9,8 +9,6 @@
"${workspaceFolder}/**"
],
"defines": [],
- "cStandard": "c17",
- "cppStandard": "c++20"
}
],
"version": 4
diff --git a/csci4061/110920_breakout/sol1.c b/csci4061/110920_breakout/sol1.c
index 416a46d..d33b0df 100644
--- a/csci4061/110920_breakout/sol1.c
+++ b/csci4061/110920_breakout/sol1.c
@@ -1,10 +1,10 @@
/*
* Recitation Section Number: 9
-* Breakout Number:
-* Member Name (X500)
-* Member Name (X500)
-* Member Name (X500)
-* Member Name (X500)
+* Breakout Number: 6
+* Audrey Hebert (heber169)
+* Qiyu Tian (tian0068)
+* Mouhari Mouhamed (mouha003)
+* Matt Strapp (strap012)
*/
#include <stdio.h>
diff --git a/csci4061/110920_breakout/sol2.c b/csci4061/110920_breakout/sol2.c
index b5c4895..04dad3e 100644
--- a/csci4061/110920_breakout/sol2.c
+++ b/csci4061/110920_breakout/sol2.c
@@ -1,10 +1,10 @@
/*
* Recitation Section Number: 9
-* Breakout Number:
-* Member Name (X500)
-* Member Name (X500)
-* Member Name (X500)
-* Member Name (X500)
+* Breakout Number: 6
+* Audrey Hebert (heber169)
+* Qiyu Tian (tian0068)
+* Mouhari Mouhamed (mouha003)
+* Matt Strapp (strap012)
*/
#include <stdio.h>
diff --git a/csci4061/110920_breakout/zip/sol1.c b/csci4061/110920_breakout/zip/sol1.c
new file mode 100644
index 0000000..ca60c50
--- /dev/null
+++ b/csci4061/110920_breakout/zip/sol1.c
@@ -0,0 +1,37 @@
+/*
+* Recitation Section Number: 9
+* Breakout Number:
+* Audrey Hebert (heber169)
+* Qiyu Tian (tian0068)
+* Mouhari Mouhamed (mouha003)
+* Matt Strapp (strap012)
+*/
+
+#include <stdio.h>
+#include <signal.h>
+#include <unistd.h>
+#include <time.h>
+
+void infinitePrint() {
+
+ static int count = 0;
+ printf("%ld: Count = %d\n", time(NULL), ++count);
+ sleep(1);
+}
+
+int main() {
+
+ // ------------------sol1.c-----------------
+ // initialize new sigset - sigset_t, sigemptyset
+ sigset_t sigset;
+ sigemptyset(&sigset);
+ // add SIGINT to sigset - sigaddset
+ sigaddset(&sigset, SIGINT);
+ // block SIGINT - sigprocmask
+ sigprocmask(SIG_BLOCK, &sigset, NULL);
+ // Do not modify the while loop and infinitePrint()
+ // -----------------------------------------
+
+ /* Print infinitely. */
+ while (1) infinitePrint();
+} \ No newline at end of file
diff --git a/csci4061/110920_breakout/zip/sol2.c b/csci4061/110920_breakout/zip/sol2.c
new file mode 100644
index 0000000..04dad3e
--- /dev/null
+++ b/csci4061/110920_breakout/zip/sol2.c
@@ -0,0 +1,52 @@
+/*
+* Recitation Section Number: 9
+* Breakout Number: 6
+* Audrey Hebert (heber169)
+* Qiyu Tian (tian0068)
+* Mouhari Mouhamed (mouha003)
+* Matt Strapp (strap012)
+*/
+
+#include <stdio.h>
+#include <signal.h>
+#include <unistd.h>
+#include <time.h>
+
+// Remember the usage of sig_atomic_t in the recitation example
+static volatile sig_atomic_t doneflag = 0;
+
+static void setdoneflag(int signo) {
+ doneflag = doneflag ^ 1;
+}
+
+void infinitePrint() {
+
+ static int count = 0;
+ printf("%ld: Count = %d\n", time(NULL), ++count);
+ sleep(1);
+}
+
+int main() {
+
+ // ------------------sol2.c-----------------
+ // setup signal handler - sigaction struct, sigemptyset,
+ struct sigaction act;
+ sigset_t sigset;
+ // specify action associated with SIGNT - sigaction()
+ act.sa_handler = setdoneflag; /* set up signal handler */
+ act.sa_flags = 0;
+ if ((sigemptyset(&act.sa_mask) == -1) ||
+ (sigaction(SIGINT, &act, NULL) == -1))
+ {
+ perror("Failed to set SIGINT handler");
+ return 1;
+ }
+ // You are free to modify the while loop but not the infinitePrint()
+ // -----------------------------------------
+
+ /* Print infinitely. */
+ while (1) {
+ if (!doneflag)
+ infinitePrint();
+ }
+} \ No newline at end of file