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