Move the clean_up function and add it to generator
This commit is contained in:
parent
696deabb91
commit
ff14545d82
@ -42,6 +42,11 @@ int main(int argc, char *argv[]) {
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if(atexit(clean_up) != 0) {
|
||||
fprintf(stderr, "ERROR: Cannot set exit function\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
process_signal();
|
||||
|
||||
/// Create a regex to check the input against
|
||||
@ -138,7 +143,7 @@ int main(int argc, char *argv[]) {
|
||||
for(int i=0; i < num_edges; i++) {
|
||||
if(buf_edges[i].chosen == true) {
|
||||
res.edge_num++;
|
||||
res.edges[--new_best] = edges[i]; ///< We begin counting from 0
|
||||
res.edges[--new_best] = buf_edges[i]; ///< We begin counting from 0
|
||||
}
|
||||
}
|
||||
res.valid = true;
|
||||
|
@ -52,3 +52,26 @@ static void process_signal(void){
|
||||
sigaction(SIGINT, &sa, NULL);
|
||||
sigaction(SIGTERM, &sa, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Function to that cleans up the resources
|
||||
* @details The function closes and destroys all semaphores,
|
||||
* closes and destroys all shared memory objects and
|
||||
* closes the file descriptors
|
||||
* @param none
|
||||
* @return none
|
||||
**/
|
||||
static void clean_up(void) {
|
||||
/// Close and destory semaphores
|
||||
close_sem(free_sem);
|
||||
close_sem(use_sem);
|
||||
close_sem(mutex);
|
||||
|
||||
destroy_sem(FREE_SEM_NAME);
|
||||
destroy_sem(USE_SEM_NAME);
|
||||
destroy_sem(MUTEX_NAME);
|
||||
|
||||
/// Close and destroy shared memory objects
|
||||
close_shm(circ_buffer, sizeof(buffer_t));
|
||||
destroy_shm(BUFF_SHM_NAME, buffer_shmfd);
|
||||
}
|
||||
|
@ -94,27 +94,3 @@ int main(int argc, char *argv[]) {
|
||||
}
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Function to that cleans up the resources
|
||||
* @details The function closes and destroys all semaphores,
|
||||
* closes and destroys all shared memory objects and
|
||||
* closes the file descriptors
|
||||
* @param none
|
||||
* @return none
|
||||
**/
|
||||
void clean_up(void) {
|
||||
/// Close and destory semaphores
|
||||
close_sem(free_sem);
|
||||
close_sem(use_sem);
|
||||
close_sem(mutex);
|
||||
|
||||
destroy_sem(FREE_SEM_NAME);
|
||||
destroy_sem(USE_SEM_NAME);
|
||||
destroy_sem(MUTEX_NAME);
|
||||
|
||||
/// Close and destroy shared memory objects
|
||||
close_shm(circ_buffer, sizeof(buffer_t));
|
||||
destroy_shm(BUFF_SHM_NAME, buffer_shmfd);
|
||||
}
|
||||
|
Reference in New Issue
Block a user