aboutsummaryrefslogtreecommitdiffstats
path: root/csci4061/110920_breakout/chap8
diff options
context:
space:
mode:
Diffstat (limited to 'csci4061/110920_breakout/chap8')
-rw-r--r--csci4061/110920_breakout/chap8/Makefile12
-rw-r--r--csci4061/110920_breakout/chap8/pgm_8_1.c42
-rw-r--r--csci4061/110920_breakout/chap8/pgm_8_5.c43
3 files changed, 0 insertions, 97 deletions
diff --git a/csci4061/110920_breakout/chap8/Makefile b/csci4061/110920_breakout/chap8/Makefile
deleted file mode 100644
index bd92bec..0000000
--- a/csci4061/110920_breakout/chap8/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-pgm81: pgm_8_1.c
- gcc pgm_8_1.c -lm -o out
- ./out 5
-
-pgm85: pgm_8_5.c
- gcc pgm_8_5.c -lm -o out
- ./out
-
-.PHONY: clean
-
-clean:
- rm out
diff --git a/csci4061/110920_breakout/chap8/pgm_8_1.c b/csci4061/110920_breakout/chap8/pgm_8_1.c
deleted file mode 100644
index a979bb6..0000000
--- a/csci4061/110920_breakout/chap8/pgm_8_1.c
+++ /dev/null
@@ -1,42 +0,0 @@
-// Program 8.1
-
-#include <math.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-int main(int argc, char *argv[]) {
- int i;
- sigset_t intmask;
- int repeatfactor;
- double y = 0.0;
-
- if (argc != 2) {
- fprintf(stderr, "Usage: %s repeatfactor\n", argv[0]);
- return 1;
- }
- repeatfactor = atoi(argv[1]);
- if ((sigemptyset(&intmask) == -1) || (sigaddset(&intmask, SIGINT) == -1)){
- perror("Failed to initialize the signal mask");
- return 1;
- }
- for ( ; ; ) {
- if (sigprocmask(SIG_BLOCK, &intmask, NULL) == -1)
- break;
- fprintf(stderr, "SIGINT signal blocked\n");
- for (i = 0; i < repeatfactor; i++)
- y += sin((double)i);
- fprintf(stderr, "Blocked calculation is finished, y = %f\n", y);
- sleep(3);
- if (sigprocmask(SIG_UNBLOCK, &intmask, NULL) == -1)
- break;
- fprintf(stderr, "SIGINT signal unblocked\n");
- for (i = 0; i < repeatfactor; i++)
- y += sin((double)i);
- fprintf(stderr, "Unblocked calculation is finished, y=%f\n", y);
- sleep(3);
- }
- perror("Failed to change signal mask");
- return 1;
-} \ No newline at end of file
diff --git a/csci4061/110920_breakout/chap8/pgm_8_5.c b/csci4061/110920_breakout/chap8/pgm_8_5.c
deleted file mode 100644
index b20cdfa..0000000
--- a/csci4061/110920_breakout/chap8/pgm_8_5.c
+++ /dev/null
@@ -1,43 +0,0 @@
-// Program 8.5
-
-#include <math.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-static volatile sig_atomic_t doneflag = 0;
-
-/* ARGSUSED */
-static void setdoneflag(int signo) {
- doneflag = 1;
-}
-
-int main (void) {
- struct sigaction act;
- int count = 0;
- double sum = 0;
- double x;
-
- 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;
- }
-
- while (!doneflag) {
- x = (rand() + 0.5)/(RAND_MAX + 1.0);
- sum += sin(x);
- count++;
- printf("Count is %d and average is %f\n", count, sum/count);
- sleep(3);
- }
-
- printf("Program terminating ...\n");
- if (count == 0)
- printf("No values calculated yet\n");
- else
- printf("Count is %d and average is %f\n", count, sum/count);
- return 0;
-} \ No newline at end of file