static int teardown(void **state) { sm_ctx_t *ctx = *state; sm_cleanup(ctx); sr_logger_cleanup(); return 0; }
static void sigint(int sig) { struct timeval killtime; gettimeofday(&killtime, NULL); printf("\nMain\n"); printf("------------------------------\n"); printf("Nodes: %d\n", NumberOfNodes); printf("Kill time: %u\n", (unsigned int)killtime.tv_sec); printf("Exit signal %d\n", sig); printf("------------------------------\n"); if (dump_at_exit) { int version = cproxy_current_st(); sm_dump_storage(dump_path, version); } if (sig != SIGINT) { printf("\nBacktrace\n"); printf("------------------------------\n"); size_t size; void *array[100]; char **strings; size = backtrace(array, 100); strings = backtrace_symbols(array, size); int i; for (i = 0; i < size; i++) printf("%s\n", strings[i]); printf("------------------------------\n"); } else { sm_cleanup(); cproxy_cleanup(); } exit(sig); }