Question: Write a program in C for Linux that will maintain multiple alarms. Initially the program is to randomly generate n time values: t 1 t
Write a program in C for Linux that will maintain multiple alarms. Initially the program is to randomly generate n time values: t 1 t 2 t 3 ... t n where each time value is the value of the current time (time((time_t *)NULL)) plus a randomly generated integer , m, such that 1 m
- The program also needs to intake the number of alarms specified via command line parameter,
- When a SIGUSR1 signal is received by the program, it is to generate a new alarm that is to go off at the current time plus a randomly generated integer similar to those generated during initialization.
Example output:

time-1029067014: initial list (1, 1029067048) (2, 1029067053) (3, 1029067073) time = 1029067014: Waiting for alarm 1, alarm time = 1029067048 time = 1029067024: SIGUSR1 caught time-1029067024: alarm 4 added, alarm time = 1029067080 time- 1029067028: SIGUSR1 caught time 1029067028: aarm 5 added, alarm time = 1029067060 time1029067048: Alarm occurred time = 1029067048: Waiting for alarm 2, alarm time 1029067053 time 1029067053: Alarm occurred time- 1029067053: Waiting for alarm 5, alarm time1029067060 time1029067060: Alarm occurred time- 1029067060: Waiting for alarm 3, alarm time 1029067073 time 1029067073: Alarm occurred time 1029067073: Waiting for alarm 4, aarm time = 1029067080 time1029067080: Alarm occurred time-1029067014: initial list (1, 1029067048) (2, 1029067053) (3, 1029067073) time = 1029067014: Waiting for alarm 1, alarm time = 1029067048 time = 1029067024: SIGUSR1 caught time-1029067024: alarm 4 added, alarm time = 1029067080 time- 1029067028: SIGUSR1 caught time 1029067028: aarm 5 added, alarm time = 1029067060 time1029067048: Alarm occurred time = 1029067048: Waiting for alarm 2, alarm time 1029067053 time 1029067053: Alarm occurred time- 1029067053: Waiting for alarm 5, alarm time1029067060 time1029067060: Alarm occurred time- 1029067060: Waiting for alarm 3, alarm time 1029067073 time 1029067073: Alarm occurred time 1029067073: Waiting for alarm 4, aarm time = 1029067080 time1029067080: Alarm occurred
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
