| version 1.2, 2001/09/21 19:44:51 |
version 1.3, 2001/09/21 19:54:45 |
|
|
| /* |
/* |
| * $Log$ |
* $Log$ |
| |
* Revision 1.3 2001/09/21 19:54:45 host8 |
| |
* Cosmetics changes in *.c |
| |
* |
| * Revision 1.2 2001/09/21 19:44:51 host8 |
* Revision 1.2 2001/09/21 19:44:51 host8 |
| * Added $Log$ keyword substitution |
* Added $Log$ |
| |
* Added Revision 1.3 2001/09/21 19:54:45 host8 |
| |
* Added Cosmetics changes in *.c |
| |
* Added keyword substitution |
| * |
* |
| */ |
*/ |
| #ifdef HAVE_CONFIG_H |
#ifdef HAVE_CONFIG_H |
| Line 53 sigserv_sigaction(sig, info, unused) |
|
| Line 59 sigserv_sigaction(sig, info, unused) |
|
| case ECHILD: |
case ECHILD: |
| msg_error_print("No child processes, exiting...\n"); |
msg_error_print("No child processes, exiting...\n"); |
| exit(0); |
exit(0); |
| break; |
break; |
| default: |
default: |
| break; |
break; |
| } |
} |
| } |
} |
| switch(info->si_code) { |
switch (info->si_code) { |
| case CLD_EXITED: // | child has exited | |
case CLD_EXITED: // | child has exited | |
| msg_print("SIGCHLD -- child %d exited " |
msg_print("SIGCHLD -- child %d exited " |
| "with status %d (%s)\n", |
"with status %d (%s)\n", |
| Line 86 sigserv_sigaction(sig, info, unused) |
|
| Line 92 sigserv_sigaction(sig, info, unused) |
|
| break; |
break; |
| case CLD_CONTINUED: // | stopped child has continued | |
case CLD_CONTINUED: // | stopped child has continued | |
| break; |
break; |
| } |
} |
| |
|
| } |
} |
| break; |
break; |
| Line 108 sigserv_init(ptbl) |
|
| Line 114 sigserv_init(ptbl) |
|
| PROCTABLE ptbl; |
PROCTABLE ptbl; |
| { |
{ |
| struct sigaction sa; |
struct sigaction sa; |
| |
|
| memset(&sa, 0, sizeof sa); |
memset(&sa, 0, sizeof sa); |
| sa.sa_sigaction = sigserv_sigaction; |
sa.sa_sigaction = sigserv_sigaction; |
| sa.sa_flags = SA_RESTART | SA_SIGINFO; |
sa.sa_flags = SA_RESTART | SA_SIGINFO; |
| Line 119 sigserv_init(ptbl) |
|
| Line 125 sigserv_init(ptbl) |
|
| |
|
| //signal(SIGCHLD, sigserv_sigaction); |
//signal(SIGCHLD, sigserv_sigaction); |
| //signal(SIGINT, sigserv_sigaction); |
//signal(SIGINT, sigserv_sigaction); |
| |
|
| /* toto je zoznam vsetkych signalov ktore existuju |
/* toto je zoznam vsetkych signalov ktore existuju |
| * moze to ist prec, len som skusal vo ^d, ale |
* moze to ist prec, len som skusal vo ^d, ale |
| * ziadny signal vredy ep nedostava |
* ziadny signal vredy ep nedostava |
| Line 185 sigserv_init(ptbl) |
|
| Line 191 sigserv_init(ptbl) |
|
| //#endif |
//#endif |
| // |
// |
| // switch (who) { |
// switch (who) { |
| // case -1: |
// case -1: |
| // msg_error_print("wait4child(): wait() = %d\n", who); |
// msg_error_print("wait4child(): wait() = %d\n", who); |
| // /* podla mna sa aj tuto nastavuje nejake cislo chyby, preto |
// /* podla mna sa aj tuto nastavuje nejake cislo chyby, preto |
| // * aj tu treba spravit switch (errno) {} a nejako to osetrovat |
// * aj tu treba spravit switch (errno) {} a nejako to osetrovat |
| // */ |
// */ |
| // exit(1); |
// exit(1); |
| Line 197 sigserv_init(ptbl) |
|
| Line 203 sigserv_init(ptbl) |
|
| // case ECHILD: |
// case ECHILD: |
| // msg_error_print("no child process, terminating...\n"); |
// msg_error_print("no child process, terminating...\n"); |
| // exit(0); /* TODO */ |
// exit(0); /* TODO */ |
| // break; |
// break; |
| // default: |
// default: |
| // break; |
// break; |
| // } |
// } |
| // break; |
// break; |
| Line 206 sigserv_init(ptbl) |
|
| Line 212 sigserv_init(ptbl) |
|
| // default: |
// default: |
| // |
// |
| // /* Normal exit? */ |
// /* Normal exit? */ |
| // if ((status&0377) == 0) |
// if ((status&0377) == 0) |
| // msg_debug_print("[%d] [exit %.2d] ", who, status); |
// msg_debug_print("[%d] [exit %.2d] ", who, status); |
| // else |
// else |
| // msg_debug_print("[%d] [signal %.2d] ", who, status & 0177); |
// msg_debug_print("[%d] [signal %.2d] ", who, status & 0177); |
| // |
// |
| // index = proctable_get_process_index_by_pid((*p_ptbl), who); |
// index = proctable_get_process_index_by_pid((*p_ptbl), who); |
| // |
// |
| // if (index == -1) { |
// if (index == -1) { |
| // msg_print("\n"); |
// msg_print("\n"); |
| Line 219 sigserv_init(ptbl) |
|
| Line 225 sigserv_init(ptbl) |
|
| // "inconsistency of process table " |
// "inconsistency of process table " |
| // "(no such process with PID %d)\n", who); |
// "(no such process with PID %d)\n", who); |
| // exit(1); /* TODO */ |
// exit(1); /* TODO */ |
| // } |
// } |
| // else { |
// else { |
| // process_print_cmdline((*p_ptbl)[index]); |
// process_print_cmdline((*p_ptbl)[index]); |
| // msg_print("\n"); |
// msg_print("\n"); |