logo

Crowdly

Dado el siguiente código C, ¿qué sucede cuando el proceso recibe la señal  SIGIN...

✅ Перевірена відповідь на це питання доступна нижче. Наші рішення, перевірені спільнотою, допомагають краще зрозуміти матеріал.

Dado el siguiente código C, ¿qué sucede cuando el proceso recibe la señal SIGINT?

#include <fcntl.h>

#include <semaphore.h>

#include <signal.h>

#include <stdio.h>

#include <stdlib.h>

#include <sys/stat.h>

#include <sys/wait.h>

#include <unistd.h>

#define SEM_NAME "/example_sem"

int main(void) {

sem_t *sem = NULL;

struct sigaction act;

if ((sem = sem_open(SEM_NAME, O_CREAT | O_EXCL, S_IRUSR | S_IWUSR, 0)) ==

SEM_FAILED) {

perror("sem_open");

exit(EXIT_FAILURE);

}

sigemptyset(&(act.sa_mask));

act.sa_flags = 0;

/* The handler for SIGINT is set. */

act.sa_handler = SIG_IGN;

if (sigaction(SIGINT, &act, NULL) < 0) {

perror("sigaction");

exit(EXIT_FAILURE);

}

printf("Starting wait (PID=%d)\n", getpid());

sem_wait(sem);

printf("Finishing wait\n");

sem_unlink(SEM_NAME);

}

0%
0%
100%
0%
Більше питань подібних до цього

Хочете миттєвий доступ до всіх перевірених відповідей на moodle.uam.es?

Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!