Changeset 13413


Ignore:
Timestamp:
12/08/09 17:49:00 (3 years ago)
Author:
BrainSlayer
Message:

alternate kill method

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/router/services/services/routing.c

    r12347 r13413  
    604604                killall("ospfd", SIGTERM); 
    605605                killall("bgpd", SIGTERM); 
    606  
    607                 while (!(killall("zebra", SIGTERM) && killall("ripd", SIGTERM) 
    608                          && killall("ospfd", SIGTERM) 
    609                          && killall("bgpd", SIGTERM))) 
     606                int maxcount = 5; 
     607                if ((pidof("zebra") > 0 || pidof("ripd") > 0 
     608                     || pidof("ospfd") > 0 || pidof("bgpd") > 0) 
     609                    && (maxcount--) > 0) { 
    610610                        sleep(1); 
    611  
     611                } 
     612                if (!maxcount) { 
     613                        //okay. strange, now we must kill them 
     614                        killall("zebra", SIGKILL); 
     615                        killall("ripd", SIGKILL); 
     616                        killall("ospfd", SIGKILL); 
     617                        killall("bgpd", SIGKILL); 
     618                } 
    612619                cprintf("done\n"); 
    613620        } 
Note: See TracChangeset for help on using the changeset viewer.