signals lost in the signalmodule?

scharf@EMBL-Heidelberg.DE
Thu, 8 Sep 1994 18:33:50 +0100

It seems, that signals get lost, if a signal is raised more than once while
python is not ready to handle them.

Looking at the code shows:

signal_handler() {
sig_list[sig_num].tripped = 1;
}

why not accumulating the arrived signals??

signal_handler() {
...
sig_list[sig_num].tripped++;
...}

then sigcheck() could then do:

for (i = 1; i < NSIG; i++) {
while (sig_list[i].tripped) {
...
sig_list[i].tripped--;
...
}
}

instead of

for (i = 1; i < NSIG; i++) {
if (sig_list[i].tripped) {
...
sig_list[i].tripped = 0;
...
}
}

Michael

-- 
         __________________________________________________________
   ****    ___   _  _   ___   _    
  ******  | __) | \/ | |   ) | |   Michael Scharf
 ******** | _)  |    | | -<  | |_  Tel: +49 6221 387 305 Fax: 517
  * ****  |___) |_||_| |___) |___) EMail: scharf@EMBL-Heidelberg.de
   ****   __________________________________________________________