@cryptotaxi247 / netdata-1 / commits / 9ef626174

central childs management

Costa Tsaousis (ktsaou) committed May 2, 2014 at 18:41 UTC 9ef62617481e5089f7b1b64f18d5d5440adef3b0
1 file changed +15 -8
netdata.c
+15 -8
@@ -5848,10 +5848,23 @@ void *chartsd_main(void *ptr)
5848 // ----------------------------------------------------------------------------
5849 // main and related functions
5850
5851 +void kill_childs()
5852 +{
5853 + if(tc_child_pid) kill(tc_child_pid, SIGTERM);
5854 + tc_child_pid = 0;
5855 +
5856 + struct chartd *cd;
5857 + for(cd = chartsd_root ; cd ; cd = cd->next)
5858 + if(cd->pid && !cd->obsolete) {
5859 + kill(cd->pid, SIGTERM);
5860 + cd->pid = 0;
5861 + }
5862 +}
5863 +
5864 void bye(void)
5865 {
5866 error("bye...");
5854 - if(tc_child_pid) kill(tc_child_pid, SIGTERM);
5867 + kill_childs();
5868 tc_child_pid = 0;
5869 }
5870
@@ -5864,13 +5877,7 @@ void sig_handler(int signo)
5877 case SIGHUP:
5878 case SIGSEGV:
5879 error("Signaled exit (signal %d).", signo);
5867 - if(tc_child_pid) kill(tc_child_pid, SIGTERM);
5868 - tc_child_pid = 0;
5869 -
5870 - struct chartd *cd;
5871 - for(cd = chartsd_root ; cd ; cd = cd->next)
5872 - if(cd->pid) kill(cd->pid, SIGTERM);
5873 -
5880 + kill_childs();
5881 exit(1);
5882 break;
5883