int main(int argc, char** argv) { int rc; int k; int i; if (argc != 2) { printf("test_leak ntime\n"); return -1; } rc = zlog_init("test_leak.conf"); k = atoi(argv[1]); while (k-- > 0) { i = rand(); switch (i % 4) { case 0: rc = dzlog_init("test_leak.conf", "xxx"); dzlog_info("init"); break; case 1: rc = zlog_reload(NULL); dzlog_info("reload null"); break; case 2: rc = zlog_reload("test_leak.2.conf"); dzlog_info("reload 2"); break; case 3: zlog_fini(); printf("fini\n"); // printf("zlog_finish\tj=[%d], rc=[%d]\n", j, rc); break; } } zlog_fini(); return 0; }
int main(int argc, char** argv) { int rc; zlog_category_t *zc; rc = zlog_init("test_init.conf"); if (rc) { printf("init fail"); return -2; } zc = zlog_get_category("my_cat"); if (!zc) { printf("zlog_get_category fail\n"); zlog_fini(); return -1; } ZLOG_INFO(zc, "before update"); sleep(3); rc = zlog_reload("test_init.2.conf"); if (rc) { printf("update fail\n"); } ZLOG_INFO(zc, "after update"); zlog_profile(); zlog_fini(); return 0; }
int main(int argc, char** argv) { int rc; zlog_category_t *zc; int i = 0; struct stat stat_0, stat_1; /* Create the logging directory if not yet ceated */ mkdir("./test_multithread-logs", 0777); if (stat(CONFIG, &stat_0)) { printf("Configuration file not found\n"); return -1; } rc = zlog_init(CONFIG); if (rc) { printf("main init failed\n"); return -2; } zc = zlog_get_category("main"); if (!zc) { printf("main get cat fail\n"); zlog_fini(); return -3; } /* Interrupt (ANSI). <Ctrl-C> */ if (signal(SIGINT, intercept) == SIG_IGN ) { zlog_fatal(zc, "Can't caught the signal SIGINT, Interrupt (ANSI)"); signal(SIGINT, SIG_IGN ); return -4; } // start threads tinfo = calloc(NB_THREADS, sizeof(struct thread_info)); for (i=0; i<NB_THREADS; i++) { tinfo[i].thread_num = i + 1; tinfo[i].loop = 0; if(pthread_create(&tinfo[i].thread_id, NULL, myThread, &tinfo[i]) != 0) { zlog_fatal(zc, "Unable to start thread %d", i); zlog_fini(); return(-5); } } /* Wait and log thread informations */ sleep(1); for (i=0; i<NB_THREADS; i++) { zlog_info(zc, "Thread [%d], zlog_category:@%p", tinfo[i].thread_num, tinfo[i].zc); } /* Log main loop status */ i=0; while(1) { int reload; sleep(1); i++; zlog_info(zc, "Running time: %02d:%02d:%02d", i/3600, (i/60)%60, i%60); /* Check configuration file update */ stat(CONFIG, &stat_1); /* Is configuration file modified */ reload = (stat_0.st_mtime != stat_1.st_mtime); /* Or do we want to reload periodicaly the configuration file */ if ( ! reload) if ( RELOAD_DELAY > 0) reload = (i % RELOAD_DELAY == 0); if (reload) { zlog_info(zc, "Will reload configuration..."); rc = zlog_reload(CONFIG); if (rc) { printf("main init failed\n"); return -6; } zlog_info(zc, "Configuration reloaded :)"); stat(CONFIG, &stat_0); } } exit(EXIT_SUCCESS); }