Opened 13 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.

