4 #include <lib/routix.h>
10 void handler1(int signo
);
17 kill(getppid(), SIGUSR1
);
20 sigdelset(&mascara
, 2);
21 // sigprocmask(SIG_SETMASK,&mascara ,NULL);
23 sigemptyset(&mascara
);
24 sigaddset(&mascara
, 4);
25 struct sigaction sig1
;
26 sig1
.sa_handler
= handler
;
27 sig1
.sa_mask
= mascara
;
28 sigaction (3, &sig1
, NULL
);
31 // signal(3, handler);
34 printf("Valor antes de senales: 0x%x\n", valor
);
35 printf("Tarea.bin: Durmiendo en un while...\n");
36 __asm__
__volatile__ ("mov $0x11111111,%eax ; mov $0x22222222,%ebx ; mov $0x33333333,%ecx ; mov $0x44444444,%edx ; mov $0x55555555,%edi ; mov $0x66666666,%esi");
38 printf("Valor despues de senales: 0x%x\n", valor
);
43 void handler(int signo
)
46 printf("handler 3 de tarea.bin: Se recibio la senal: %d\t PID: %d\n", signo
, getpid());
48 for (i
=0 ; i
<0x5fffff; i
++);
49 printf("saliendo del handler 3\n");
53 void handler1(int signo
)
55 // Se puede setear una máscara desde dentro de un handler ????
56 printf("handler1 de tarea.bin: Se recibio la senal: %d\t PID: %d\n", signo
, getpid());
59 sigemptyset(&mascara
);
60 sigprocmask(SIG_SETMASK
, &mascara
, NULL
);