version 1.176, 2016/03/29 12:27:35
|
version 1.179, 2016/04/06 21:14:56
|
Line 106 thread_surveillance_signaux(void *argume
|
Line 106 thread_surveillance_signaux(void *argume
|
break; |
break; |
} |
} |
|
|
sem_post(semaphore_arret_signalisation); |
|
sem_post(semaphore_signalisation); |
sem_post(semaphore_signalisation); |
|
|
nombre_signaux_envoyes = 0; |
nombre_signaux_envoyes = 0; |
Line 138 thread_surveillance_signaux(void *argume
|
Line 137 thread_surveillance_signaux(void *argume
|
} |
} |
|
|
sem_post(semaphore_queue_signaux); |
sem_post(semaphore_queue_signaux); |
|
sem_post(semaphore_arret_signalisation); |
|
|
// Dans un second temps, on balaye toutes les queues de signaux |
// Dans un second temps, on balaye toutes les queues de signaux |
// des threads du processus courant. |
// des threads du processus courant. |
Line 2732 envoi_signal_processus(pid_t pid, enum s
|
Line 2732 envoi_signal_processus(pid_t pid, enum s
|
|
|
queue = shmat(segment, NULL, 0); |
queue = shmat(segment, NULL, 0); |
# else // OS/2 |
# else // OS/2 |
if (DosGetNamedSharedMem((PVOID) &queue, nom, |
if (test_ouverture == d_vrai) |
PAG_WRITE | PAG_READ) != 0) |
|
{ |
{ |
sys_free(nom); |
attente.tv_sec = 0; |
return(1); |
attente.tv_nsec = GRANULARITE_us * 1000; |
|
|
|
while(DosGetNamedSharedMem((PVOID) &queue, nom, |
|
PAG_WRITE | PAG_READ) != 0) |
|
{ |
|
nanosleep(&attente, NULL); |
|
INCR_GRANULARITE(attente.tv_nsec); |
|
} |
|
} |
|
else |
|
{ |
|
if (DosGetNamedSharedMem((PVOID) &queue, nom, |
|
PAG_WRITE | PAG_READ) != 0) |
|
{ |
|
sys_free(nom); |
|
return(1); |
|
} |
} |
} |
|
|
sys_free(nom); |
sys_free(nom); |