Opened 12 years ago
Last modified 12 years ago
#10119 closed defect
Semaphore, SIGALRM not fired — at Initial Version
Reported by: | Adam | Owned by: | |
---|---|---|---|
Component: | other | Version: | VirtualBox 4.1.8 |
Keywords: | signal, alarm, semaphore | Cc: | |
Guest type: | Linux | Host type: | Windows |
Description
There's a bug in handling SIGALRM while waiting for a samaphore - signal is never delivered.
#include <stdio.h> #include <stdlib.h> #include <semaphore.h> #include <signal.h> static void handler(int sig) { exit(0); } main() { sem_t s; struct sigaction sa; sem_init(&s, 0, 0); sa.sa_handler = handler; sigemptyset(&sa.sa_mask); sa.sa_flags = 0; if (sigaction(SIGALRM, &sa, NULL) == -1) exit(-1); alarm(2); sem_wait(&s); }
Note:
See TracTickets
for help on using tickets.