aboutsummaryrefslogtreecommitdiffstats
path: root/OLD/csci4061/110920_breakout/chap8/pgm_8_5.c
diff options
context:
space:
mode:
Diffstat (limited to 'OLD/csci4061/110920_breakout/chap8/pgm_8_5.c')
-rw-r--r--OLD/csci4061/110920_breakout/chap8/pgm_8_5.c43
1 files changed, 0 insertions, 43 deletions
diff --git a/OLD/csci4061/110920_breakout/chap8/pgm_8_5.c b/OLD/csci4061/110920_breakout/chap8/pgm_8_5.c
deleted file mode 100644
index b20cdfa..0000000
--- a/OLD/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